2011-03-23 55 views
2

我創建這樣一個循環:從一個循環,一個文件與結果相結合

for (p in 1:nrow(outcomes)) { 

    id <- apply(regulationtable, 1, function(i) 
     sum(i[1:length(regulationtable)] != outcomes[p,])==0) 

    idd <- as.matrix(id) 
    test2 = subset(idd, idd[,1]==TRUE) 

    result <- as.data.frame(rownames(test2)) 

    filename = paste("file", p, ".txt") 

    write.table(result, filename) 
} 

每個循環的結果將被保存爲一個文件。我想結合這些結果並創建一個包含所有結果的文件。

任何人都可以幫助我嗎?

回答

2

隨着write.tableappend參數,您可以添加行到一個現有的文件,而不是覆蓋它們:

if (p == 1) 
{ 
    write.table(result, "file.txt") 
} else 
{ 
    write.table(result, "file.txt", append = TRUE, col.names = FALSE) 
} 

這是什麼意思?

編輯:你可能想要第一次運行初始化它,而不是追加,然後彼此運行不打印列名(我假設這些是每個表相同)。

+0

我認爲這是關鍵,但我得到16個警告。 – Lisann 2011-03-23 11:27:13

+0

你得到了什麼警告? – 2011-03-23 11:30:26

+0

警告都是一樣的。像這樣: 警告消息: 1:在write.table(result,filename,append = TRUE)中:將列名附加到文件 – Lisann 2011-03-23 11:32:06