2017-07-28 41 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)}