写入应用函数

时间:2016-09-05 05:01:38

标签: r

出于内存原因,我不想将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只会包含0.239629415096715矩阵最后一列的值(random_data)。而我希望它在checkout.txt文件中保存该矩阵的完整第一行。 请注意,这是我面临的问题的一个示例,在矩阵中保存行很容易,我想写入apply函数内的文件。

我做错了吗?

可以肯定的是,我原来的apply循环中的函数需要相对较长的时间来完成,所以我不认为写入文件会产生太多的开销,即使它会在函数中产生相当大的开销这里。

感谢。

1 个答案:

答案 0 :(得分:1)

更改代码的1行以打开文件以便以文本模式写入:

outfile <- file("checkout.txt", "w")