2017-07-28 101 views
0

此代码的目标是创建一个循环,通过创建的某个原则向量来汇总每个公司的词频并将其添加到列表中。问题是,在我运行它之后,它只打印了我拥有的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) 
} 
+0

我不知道为什么你在'for'循环中有'attach()',它只需要做一次。另外,'[,i + 1]'看起来有点奇怪。 – Kevin

+0

每当我在r中看到'for'时,我知道有什么地方是错误的。 – Masoud

+0

请提供一些示例数据 – CPak

回答

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)}