是否有一个 r 函数可以帮助我找到携带特定年份数据的行数?
Is there an r function that would help me find the number of rows which carry data from a particular year?
我是 R 的新手。我的数据如下所示:
incident_id date
1 461105 2013-01-01
2 460726 2013-01-01
3 478855 2013-01-01
4 478925 2013-01-05
5 478959 2013-01-07
6 478948 2013-01-07
7 479363 2013-01-19
8 479374 2013-01-21
9 479389 2013-01-21
10 492151 2013-01-23
我想知道某一年发生的事件被报告的次数。
尾巴是这样的:
incident_id date
239668 1082234 2018-03-31
239669 1081742 2018-03-31
239670 1082990 2018-03-31
239671 1081752 2018-03-31
239672 1082061 2018-03-31
239673 1083142 2018-03-31
239674 1083139 2018-03-31
239675 1083151 2018-03-31
239676 1082514 2018-03-31
239677 1081940 2018-03-31
我试过 SQL,但我想为此使用 R。
用于查找每年报告的事件的代码
首先创建一个只有数据和事件 ID
的子集
dfgvdates = dfgv[,1:2]
head(dfgvdates, 10)
我想使用 count()
函数,但我想它只能在我使用库时使用。
您可以从日期中提取年份,然后计算长度。使用 aggregate
我们可以做到
aggregate(incident_id~date, transform(df, date = format(as.Date(date),"%Y")),length)
或 table
stack(table(format(as.Date(df$date), "%Y")))
使用dplyr
,我们可以做到
library(dplyr)
df %>%
group_by(date = format(as.Date(date), "%Y")) %>%
summarise(n = n())
或使用count
df %>% count(date = format(as.Date(date), "%Y"))
我们可以使用data.table
library(data.table)
setDT([, .(N = .N), by = .(Year = year(as.IDate(date)))]
我是 R 的新手。我的数据如下所示:
incident_id date
1 461105 2013-01-01
2 460726 2013-01-01
3 478855 2013-01-01
4 478925 2013-01-05
5 478959 2013-01-07
6 478948 2013-01-07
7 479363 2013-01-19
8 479374 2013-01-21
9 479389 2013-01-21
10 492151 2013-01-23
我想知道某一年发生的事件被报告的次数。
尾巴是这样的:
incident_id date
239668 1082234 2018-03-31
239669 1081742 2018-03-31
239670 1082990 2018-03-31
239671 1081752 2018-03-31
239672 1082061 2018-03-31
239673 1083142 2018-03-31
239674 1083139 2018-03-31
239675 1083151 2018-03-31
239676 1082514 2018-03-31
239677 1081940 2018-03-31
我试过 SQL,但我想为此使用 R。
用于查找每年报告的事件的代码 首先创建一个只有数据和事件 ID
的子集dfgvdates = dfgv[,1:2]
head(dfgvdates, 10)
我想使用 count()
函数,但我想它只能在我使用库时使用。
您可以从日期中提取年份,然后计算长度。使用 aggregate
我们可以做到
aggregate(incident_id~date, transform(df, date = format(as.Date(date),"%Y")),length)
或 table
stack(table(format(as.Date(df$date), "%Y")))
使用dplyr
,我们可以做到
library(dplyr)
df %>%
group_by(date = format(as.Date(date), "%Y")) %>%
summarise(n = n())
或使用count
df %>% count(date = format(as.Date(date), "%Y"))
我们可以使用data.table
library(data.table)
setDT([, .(N = .N), by = .(Year = year(as.IDate(date)))]