根据 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,])
我正在尝试计算值 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,])