没有正确聚合

时间:2017-07-28 20:14:11

标签: r aggregate

我的代码的目标是创建一个循环,通过我创建的某个原理向量聚合每个公司的单词频率,并将其添加到列表中。问题是,在我运行它之后,它只打印我拥有的7个原则,而不是它们旁边的单词频率。字频率是FREQBYPRINC.AG数据帧的特定列。单独地,在没有循环的情况下运行此代码并仅测试某个列,它没有问题。出于某种原因,循环不希望为列表提供正确的数据帧。有什么建议?

list.agg<-vector("list",ncol(FREQBYPRINC.AG)-2)
for (i in 1:14){
attach(FREQBYPRINC.AG)
list.agg[i]<-aggregate(FREQBYPRINC.AG[,i+1],by=list(Type=principle),FUN=sum,na.rm=TRUE)
}

1 个答案:

答案 0 :(得分:0)

我真的希望自己可以帮忙。阅读完你的陈述之后,对你来说,你觉得代码应该正常工作,而不是。好吧也许存在一个小故障。

因为您之前已经指定了列表。作为列表的agg,您需要使用双方括号对其进行子集化。试试这个:

    list.agg<-vector("list",ncol(FREQBYPRINC.AG)-2)
    for (i in 1:14){
    list.agg[[i]]<-aggregate(FREQBYPRINC.AG[,i+1],by=list 
                                (Type=principle),FUN=sum,na.rm=TRUE)}