我希望找到我的数据集中某些列的总和

时间:2016-07-07 09:50:57

标签: r

我希望找到数据集中某些列的总和。目前它看起来像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())

但是这需要我每次更改网格引用和月份引用,有没有更简单的方法来执行它而无需手动指定我想要的网格和月份。

1 个答案:

答案 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)