0

将 R Datasample 直接写入文件的最有效方法是什么:

在终端中,打字"R" -> R有效。

创建数据样本: sample(1.00:20000.00, 10)

如何将结果直接写入文件?我知道(正常)方法:

(例如)ls -l > ~/Directory/file.txt

但是>and>>方法在 R 控制台中是错误的方法。

4

2 回答 2

1

一种选择是使用capture.output

capture.output(sample(1.00:20000.00, 10),
             file='~/Directory/file.txt')

这将创建一个与您在控制台中看到的具有相同输出的文件。

于 2013-10-06T10:56:47.060 回答
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"
于 2013-10-06T18:07:46.533 回答