我试图在Windows计算机中将一些数据直接从R复制到剪贴板。我在某些网站上发现使用file =“clipboard”可以正常工作。确实如此,但是对于非常小的数据集。

例如:

如果我复制一个小的数据集(100个观察点),则它可以正常工作。

df1 <- data.frame(x=runif(100))
write.table(df1, file="clipboard", sep="\t", col.names=NA)

但是,如果我将观察值增加到10,000,它将失败:
df1 <- data.frame(x=runif(10000))
write.table(df1, file="clipboard", sep="\t", col.names=NA)

错误是:



任何解决方法?

最佳答案

如果键入?connections,您将找到答案。

这是相关的部分:

“写入剪贴板时,只有在关闭或刷新连接时,输出才会复制到剪贴板。要写入剪贴板的文本有32Kb的限制。可以使用例如file(“clipboard- 128“)分配128Kb。”

因此,解决方案相当简单:

df1 <- data.frame(x=runif(10000))
write.table(df1, file="clipboard-16384", sep="\t", col.names=NA)

请注意,Kb的数量只是一个示例,因此您可以根据需要进行更改(我输入2 ^ 14应该足以容纳您的数据集,但是您可以进一步增加它。不确定哪一个是困难的)限制,也许是物理内存?)

关于r - 如何解决Windows中运行的R中的 “clipboard buffer is full and output lost”错误?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32035119/

10-12 16:30