我希望找到数据集中某些列的总和。目前它看起来像this。
我想找到每个可能的网格和月份组合的X,Y和Z中每个人的列总和。 目前我有
xx<-data[data$Month=="November"&data$grid=="A3",]
fun<-by(xx[, 1:3],xx$grid, colSums,na.rm=T)
fun<-as.character(fun)
as.data.frame(fun,
stringsAsFactors = default.stringsAsFactors())
但是这需要我每次更改网格引用和月份引用,有没有更简单的方法来执行它而无需手动指定我想要的网格和月份。
答案 0 :(得分:0)
我们可以在按“月份”,“网格”分组后使用summarise_each
中的dplyr
library(dplyr)
data %>%
group_by(month, grid) %>%
summarise_each(funs(sum))
或aggregate
base R
aggregate(.~month + grid, data, FUN = sum)
或使用OP的方法
by(data[1:3], data[4:5], FUN = colSums)