是否有一个r函数可以帮助我找到包含特定年份数据的行数?
我对R完全陌生。以下是我的数据:是否有一个r函数可以帮助我找到包含特定年份数据的行数?,r,date,count,record,R,Date,Count,Record,我对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
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)
library(dplyr)
df %>%
group_by(date = format(as.Date(date), "%Y")) %>%
summarise(n = n())
或使用表格
stack(table(format(as.Date(df$date), "%Y")))
library(data.table)
setDT([, .(N = .N), by = .(Year = year(as.IDate(date)))]
使用dplyr,我们可以
aggregate(incident_id~date, transform(df, date = format(as.Date(date),"%Y")),length)
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
stack(table(format(as.Date(df$date), "%Y")))
library(data.table)
setDT([, .(N = .N), by = .(Year = year(as.IDate(date)))]
! 是我干的。这是我第一次使用堆栈溢出,我很高兴我做到了。再次感谢。