根据 R 中的标准按年计数

Count by Year Based on Criterion in R

我正在尝试计算值 fcoli>15 的行数,并生成一个按年份对这些计数进行排序的向量。

一些示例数据:

Year <- c(1996,1996,1997,19971998,1999,1999,1999)
fcoli <- c(45,13,96,10,52,53,64,5)
sample <- data.frame(Year,fcoli)

我已经能够使用以下方法一次计算一年的行数:

nrow(subset(sample, sample$fcoli > 15 & sample$Year == 1996))

然而,我无法使用此标准一次计算出所有年份的数量。我的实际数据包含 20 多年的数据,因此我宁愿不必每年手动迭代此代码。

有什么建议吗?谢谢!

 library(dplyr) 
 df1%>%   #df1 is yor data frame
 filter(fcoli>15) %>%
 group_by(Year)%>%
 summarise(freq=n())

Source: local data frame [4 x 2]

  Year freq
1 1996    1
2 1997    1
3 1998    1
4 1999    2

这是一个足够简单的答案。

Year <- c(1996,1996,1997,1997,1998,1999,1999,1999)
fcoli <- c(45,13,96,10,52,53,64,5)
sample <- data.frame(Year,fcoli)
aggregate(fcoli~Year,FUN=length,data=sample[sample$fcoli>15,])