Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
824 views
in Technique[技术] by (71.8m points)

r - combine results from a loop in one file

I create a loop like this one:

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

The results of every loop will be saved as a file. I want to combine this results and create one file with all the results.

Can anyone help me with this?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

With the append argument in write.table you can add lines to an existing file rather than overwriting them:

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

Is this what you mean?

EDIT: You might want the first run to initialize it and not append, then each other run to not print the column names ( I do assume these are the same for each table).


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...