微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

聚合函数出错

我有一个数据帧:

head(df)
     Year          Find             Found
6982 1901          267              246
6983 1901          271              251
6984 1902          317              236
6985 1903          339              244
6986 1904          339              260
6987 1903          345              15
5255 1902           47              45
5256 1901           46              NA
5257 1906           45              150
5258 1905           42              24
5259 1910           42              78
5260 1910           41              NA

当我试图聚合它时:

aggdata <-aggregate(df,by=list(Year),FUN=sum,na.rm=TRUE)

我收到一个错误

Error in aggregate.data.frame(AndelKvinnorUttax,by = list(Year),FUN = sum,: 
  object 'Year' not found

我找不到问题……

我的解决方案是:

aggr=cbind(aggregate(data=df,Find~Year,na.rm=TRUE),aggregate(data=df,Found~Year,na.rm=TRUE))[,c(1,2,4)]

任何人?

最好的祝福!

解决方法

aggregate不会自动评估data参数中data.frame范围内的Year.你必须明确告诉它在哪里找到年份,即….

aggdata <-aggregate(df,by=list(df$Year),na.rm=TRUE)
#  Group.1 Year Find Found
#1    1901 5703  584   497
#2    1902 3804  364   281
#3    1903 3806  684   259
#4    1904 1904  339   260
#5    1905 1905   42    24
#6    1906 1906   45   150
#7    1910 3820   83    78

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐