объединить результаты цикла в одном файле - PullRequest
2 голосов
/ 23 марта 2011

Я создаю цикл, подобный этому:

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

Результаты каждого цикла будут сохранены в виде файла. Я хочу объединить эти результаты и создать один файл со всеми результатами.

Может ли кто-нибудь помочь мне с этим?

1 Ответ

2 голосов
/ 23 марта 2011

С аргументом append в write.table вы можете добавлять строки в существующий файл вместо перезаписи:

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

Это то, что вы имеете в виду?может потребоваться, чтобы первый прогон инициализировал его, а не добавлял, затем каждый прогон не печатал имена столбцов (я предполагаю, что они одинаковы для каждой таблицы).

...