如何对一组变量进行子集化并在R中使用Aggregate函数

时间:2015-10-12 14:57:38

标签: r

我是R的初学者,我正在进行自动化,我在一个单独的文件中有一个变量列表,需要在主数据集中聚合这些值。主数据结构附加{{ 3}} 并且referal数据集包含要聚合的变量Master Dataset 在我需要通过Sum(C)聚合变量D,E,F的6个变量中(根据参考数据集)。

以下代码手动执行我的要求,

X<-aggregate(C,by=list(D,E,F),FUN=sum)

但我需要一个自动执行相同功能的代码。我尝试制作循环,但我遇到的问题是两个数据集都没有相同的data.frame大小。有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

所以,似乎你想要做一些事情: 1)读入主/参考数据集 2)根据指示对象中的值对主控子进行子集化 3)计算主站上的列总和?

另外,您是否有特定原因要使用aggregate()?可能有很多方法可以做到这一点。在任何情况下,我都会这样做:

# assuming master is a dataframe or matrix, referent is a vector
# just simulating them here because not clear how you are reading them in
master = matrix(rnorm(36),6)
colnames(master) = c('A','B','C','D','E','F')
referent = c('D','E','F')
colSums(master[,referent])

这样做你想做什么?我喜欢colSums,因为它是一个方便的内置。我不是R超级巨星,所以有可能其他方式因某种原因更好。