我试图在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/