作为 question I wrote a few days ago 的后续行动,我终于弄清楚如何复制到剪贴板以粘贴到其他应用程序中(阅读:Excel)。
但是,当使用复制和粘贴功能时,变量列标题在粘贴时无法正确排列。
数据(取 self 碰巧正在查看的流动数据示例):
data <- read.csv("http://datasets.flowingdata.com/post-data.txt")
复制功能:
write.table(file = pipe("pbcopy"), data, sep = "\t")
加载后,数据如下所示:
id views comments category
1 5019 148896 28 Artistic Visualization
2 1416 81374 26 Visualization
3 1416 81374 26 Featured
4 3485 80819 37 Featured
5 3485 80819 37 Mapping
6 3485 80819 37 Data Sources
存在没有列变量名称的行号(1, 2, 3, 4, ...)
使用 read.table(pipe("pbpaste"))
函数,它将正常加载回 R
中。
但是,当我将其粘贴到 Excel
或 TextEdit
中时,第二个变量的列名称将位于第一个变量列名称槽中,如下所示:
id views comments category
1 5019 148896 28 Artistic Visualization
2 1416 81374 26 Visualization
3 1416 81374 26 Featured
4 3485 80819 37 Featured
5 3485 80819 37 Mapping
6 3485 80819 37 Data Sources
这使得尾随列没有列名。
有没有办法确保复制到剪贴板
的数据正确对齐和标记?
最佳答案
R data.frame 中的行号没有列名称。它们不在原始数据集中,但除非您抑制它,否则它们会被放入剪贴板的输出中。该选项的默认设置为 TRUE,但您可以覆盖它。如果您想要这样的列作为命名列,您需要创建它。发送到 Excel 时尝试此操作。
df$rownums <- rownames(df)
edf <- df[ c( length(df), 1:(length(df)-1))] # to get the rownums/rownames first
write.table(file = pipe("pbcopy"), edf, row.names=FALSE, sep = "\t")
关于R - 管道 ("pbcopy")列未与粘贴对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9132608/