2013-02-19 27 views
1

我有如下形式的函數輸出(來自koRpus):887 的類型總數::393R迴路-csv

考詞彙多樣性 MTLD測度 令牌總數: 142.66 幾個因素:6.22 因子大小:0.72 SD令牌/因子:41.55(所有因素) 38(唯一完整的因素)

我想打一個循環用於存儲這些結果對80個不同的文件。我曾嘗試以下:

for (i in 1:length(infra$tableid)) { 
    whypar <- paste(infra$whypar [infra[,1] ==i], collapse=" ") 
wpi<- removeWords(whypar, stopwords("english")) 

as.data.frame(wpi) 
write.csv(data.frame(wpi), file= "wp.csv") 

tagged.text <- tokenize("wp.csv", lang="en") 

res.mtld <- MTLD(tagged.text) 
    write.csv(data.frame(res.mtld),file="output.csv") 
} 

其中紅外線是:

tableid 1, 2, 3, ... 80 
whypar "I took part because xxx", "I believe that jshfdjk", "jhsadkjhd" ... (N=350) 

感謝所有幫助

+1

爲什麼這不適合你?你期望的結果是什麼,你現在看到了什麼?此外,如果您可以使用'dput'爲'whypar'提供至少一個最小數據集,則我們可以更容易地提供幫助。 – Justin 2013-02-19 17:10:18

+0

'dput(infra)'或'head(infra)'可能會幫助我們查看您的數據結構 – 2013-02-19 17:11:53

+0

您不能簡單地將'data.frame'作爲由MTLD創建的S4對象。我不熟悉文本挖掘,但也許你想要這個對象的一個​​插槽。衡量文本詞彙多樣性的哪一部分是你對每個文件感興趣的。使用'str(res.mtld)'來檢查你的對象並找到你感興趣的位。 – 2013-02-19 17:32:21

回答

1

提取MTLD對象,你有興趣第一的部分。從你的問題來看,你似乎只對MTLD返回的對象的一個​​子集感興趣,即MTLD分數,標記/因子SD的因子數量以及僅用於完整因子的SD。如果你只希望這些結果爲每個文件,你可以只寫一個漂亮的表作爲輸出的所有文件:

res <- data.frame(ID = numeric() , MTLD=numeric() , Factor_Size=numeric() , SD=numeric() , SD_Complete=numeric()) 
for (i in 1:length(infra$tableid)) { 
    whypar <- paste(infra$whypar [infra[,1] ==i], collapse=" ") 
    wpi<- removeWords(whypar, stopwords("english")) 

    wpi <- as.data.frame(wpi) 
    write.csv(data.frame(wpi), file= "wp.csv") 

    tagged.text <- tokenize("wp.csv", lang="en") 

    res.mtld <- MTLD(tagged.text) 
    mtld <- [email protected]$MTLD 
    fac.size <- [email protected]$factor.size 
    mtld.sd <- [email protected]$lengths$sd 
    mtld.sd.compl <- [email protected]$lengths$sd.compl 
    res <- rbind(res , c(infra$tableid[i] , mtld, fac.size , mtld.sd , mtld.sd.compl)) 
} 
    write.csv(res , file="output.csv") 

我希望這可以幫助,但檢查這些都是你希望返回的結果。

+0

謝謝。它的工作原理與預期完全一樣......我對插槽不熟悉。 – 2013-02-19 20:02:50

+0

@JorgePerez由於這個工作正如預期的那樣,請您按下我答案旁邊的綠色勾號,以便可以從未回答的問題堆棧中刪除此問題。保持網站的策劃非常重要。提前感謝你。 – 2013-03-09 15:37:07