将R数据采样直接写入文件的最有效方法是什么:
在终端中,输入"R" -> R
即可。
创建Datsample:
sample(1.00:20000.00, 10)
如何将结果直接写入文件? 我知道(正常)方法:
(例如)ls -l > ~/Directory/file.txt
但是在R控制台中,>
和>>
方法是错误的。
答案 0 :(得分:1)
一种选择是使用capture.output
:
capture.output(sample(1.00:20000.00, 10),
file='~/Directory/file.txt')
这将创建一个与您在控制台中看到的输出相同的文件。
答案 1 :(得分:1)
正如我的评论所述,探索sink
。这是一个最小的例子。在其中,我们告诉R开始将输出下沉到文件中。输出在R控制台中不可见。
set.seed(1)
sink(file="sinking.txt")
sample(1.00:20000.00, 10)
sink()
第二次调用sink()
会停止将输出声压缩到文件中。输出按预期显示在R控制台中。
sample(1.00:20000.00, 10)
# [1] 4120 3531 13740 7681 15394 9952 14349 19832 7598 15542
sink
也有其他论点。 append
允许您向现有文件添加值,split
可以将输出发送到 两者 R控制台和文件。现在,我们将继续写入上一个文件。将其设置为将输出附加到上一个文件,并在控制台中显示输出
sink(file="sinking.txt", append=TRUE, split=TRUE)
sample(letters, 10)
# [1] "y" "f" "p" "c" "z" "i" "a" "h" "x" "v"
sink()
让我们重读文件,看看写了什么。
cat(readLines("sinking.txt"), sep = "\n")
# [1] 5311 7443 11456 18162 4033 17964 18888 13212 12578 1236
# [1] "y" "f" "p" "c" "z" "i" "a" "h" "x" "v"