R中每月频率的简单直方图
Simple plotly histogram of monthly frequencies in R
所以我知道这是一个超级简单的问题,但我还是无法解决。我有这样的数据,其中包含一年中的精确日期:
date
1 2008-08-08
2 2008-08-08
3 2008-04-12
4 <NA>
5 <NA>
6 2008-04-10
7 2008-07-12
8 2008-04-10
9 <NA>
10 2008-07-12
11 2008-07-14
12 2008-07-29
13 2008-07-29
14 2008-07-29
15 2008-08-06
16 <NA>
17 2008-08-24
18 2008-10-30
19 2008-10-30
20 2008-10-20
21 2008-01-28
22 <NA>
23 <NA>
我想绘制每月数据的频率。所以我做了类似
的事情
dat %>%
mutate(month = month(date),
month_posix = as.Date(paste0("2008-", month, "-01"))) %>%
plot_ly(., x = ~month_posix)
但我只是不知道如何绘制每个月的一个 bin 及其出现频率。我尝试了几件事,但我对 plotly 不是很熟悉。就像一月份的日期为零一样,我仍然希望看到一月份的高度为 0。
也许有人有快速提示。
可以使用此命令生成我拥有的格式(只是没有 NA)的数据:
dat = data.frame(date = sample(seq(as.Date('2008-01-01'), as.Date('2008-12-31'), by="day"), 16))
您可以使用count
获取每个月的频率然后使用plot_ly
library(plotly)
library(lubridate)
library(plotly)
dat %>%
count(month = month(date), name = 'count') %>%
plot_ly(x = ~month, y = ~count, type = 'bar')
数据
set.seed(123)
dat = data.frame(date = sample(seq(as.Date('2008-01-01'),
as.Date('2008-12-31'), by="day"), 50))
所以我知道这是一个超级简单的问题,但我还是无法解决。我有这样的数据,其中包含一年中的精确日期:
date
1 2008-08-08
2 2008-08-08
3 2008-04-12
4 <NA>
5 <NA>
6 2008-04-10
7 2008-07-12
8 2008-04-10
9 <NA>
10 2008-07-12
11 2008-07-14
12 2008-07-29
13 2008-07-29
14 2008-07-29
15 2008-08-06
16 <NA>
17 2008-08-24
18 2008-10-30
19 2008-10-30
20 2008-10-20
21 2008-01-28
22 <NA>
23 <NA>
我想绘制每月数据的频率。所以我做了类似
的事情dat %>%
mutate(month = month(date),
month_posix = as.Date(paste0("2008-", month, "-01"))) %>%
plot_ly(., x = ~month_posix)
但我只是不知道如何绘制每个月的一个 bin 及其出现频率。我尝试了几件事,但我对 plotly 不是很熟悉。就像一月份的日期为零一样,我仍然希望看到一月份的高度为 0。 也许有人有快速提示。
可以使用此命令生成我拥有的格式(只是没有 NA)的数据:
dat = data.frame(date = sample(seq(as.Date('2008-01-01'), as.Date('2008-12-31'), by="day"), 16))
您可以使用count
获取每个月的频率然后使用plot_ly
library(plotly)
library(lubridate)
library(plotly)
dat %>%
count(month = month(date), name = 'count') %>%
plot_ly(x = ~month, y = ~count, type = 'bar')
数据
set.seed(123)
dat = data.frame(date = sample(seq(as.Date('2008-01-01'),
as.Date('2008-12-31'), by="day"), 50))