0
出於內存原因,我不想將apply函數的輸出保存到文件中,但我希望在apply循環運行時將結果寫入文件。寫入應用函數內的文件
我做了以下工作例如:
checkfun <- function(TheArray, fileConn){
write(as.character(TheArray[1]), fileConn)
}
set.seed(1)
random_data <- matrix(nrow=10, ncol=10, data=runif(100))
outfile <- file("checkout.txt")
apply(random_data, 2, checkfun, fileConn=outfile)
close(outfile)
讀文件checkout.txt
將只包含random_data
矩陣的最後一列的值(0.239629415096715
)。而我希望它將該矩陣的第一行保存在checkout.txt
文件中。 請注意,這是我正面臨的問題的一個示例,在矩陣中保存一行很容易,我想寫入應用函數中的文件。
有什麼我做錯了嗎?
可以肯定的是,我最初的apply循環中的函數需要相當長的時間才能完成,所以我不認爲寫入文件會產生太多的開銷,儘管它會在這裏產生相當多的開銷。
謝謝。
請提供一個工作,最小,重現你的問題的樣本。 –
@TimBiegeleisen,我的問題的例子是一個最小的工作示例,它重現了我的問題,如果您在R解釋器中運行代碼。如果您有興趣,我使用R版本3.2.2。 但是,我不確定您是否瞭解我所問的問題,部分基於和以前提供的答案,但現在已刪除。 用戶danielson提供了一個答案,並理解了這個問題並回答了它,所以我不認爲我需要改變我的問題的措辭。 – onGiantShoulders
嘗試'TheArray [1,]'。對於矩陣,您需要顯式定義行/列。 data.frames的這種行爲是不同的。 –