2

有没有办法让R设备(后记会很棒)将输出写入变量而不是文件?

例如我知道这个:

postscript(file="|cat")
plot(1:10)
dev.off()

将后记文本发送到STDOUT. 如何将该文本放入变量中R

4

4 回答 4

3

我已经成功地将绘图的二进制作为字符串放入 R 变量中。它有一些读/写开销。在下面的代码片段中,R 将绘图保存为临时文件并将其读回。

## create a plot
x <- rnorm(100,0,1)
hist(x, col="light blue")

## save plot as temp file
png(filename="temp.png", width=500, height=500)
print(p)
dev.off()

## read temp file as a binary string
plot_binary <- paste(readBin("temp.png", what="raw", n=1e6), collapse="")

也许这对你有帮助。

于 2010-08-17T12:48:31.670 回答
1

postscript 接受一个命令参数,因此 postscript(file="",command="|cat")

于 2009-10-23T16:32:45.527 回答
1

你到底为什么要这么做?R 不是一个很好的处理 Postscript 文件的系统。如果没有别的,您可以使用 tempfile() 将图像写入文件,然后您可以使用标准文件函数读取该文件。如果你想花哨,你也许可以使用 fifo() 管道,但我怀疑它会快得多。但我怀疑你最好用不同的方法。

于 2009-10-23T17:03:27.153 回答
0

您应该能够按如下方式使用 textConnection。

tc <- textConnection("string", "w")

postscript(tc)
plot(1:10)
dev.off()

string仍然是空白 - 也许是一个错误?

于 2009-10-23T20:49:41.643 回答