是否有一个 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)))]