我有一个与这个问题完全相同的问题。
作为我工作的一部分,我必须将 R Studio 控制台的输出复制到 Excel 工作表才能制作 Excel 图表。但是,R Studio 控制台使用格式化文本,excel 的读取效果不太好。作为补偿,我总是从 R Studio 控制台复制,粘贴到记事本中,然后复制到 Excel 中。这样,当我粘贴表格时,我可以告诉 Excel 它实际上是固定宽度分隔的数据,而不仅仅是一堆文本。
如何从 R Studio 控制台复制输出,以便将其作为未格式化文本放入剪贴板,以便我可以将其直接粘贴到 Excel 中,从而将数字组织到不同的单元格中?这将非常有帮助,因为我不喜欢将表格复制/粘贴到记事本中,然后用 Excel 制作图表。
它的工作原理很简单。
首先,您必须在Rstudio的查看器窗格中可视化您的数据(您可以使用功能
View()
),然后您应该开始从最后一个值到第一个值进行选择,从下到上(见图)。请注意,应完全选择第一个单元格。最后,右键单击所选内容,复制,然后根据需要将其粘贴到 Excel 中,带或不带格式。
祝你好运!
更新:
基于此Post,另一种选择是创建一个新功能,通过
data.frame
将您的clipboard
复制到Excel:
write.excel <- function(x,row.names=FALSE,col.names=TRUE,...) {
write.table(x,"clipboard",sep="\t",row.names=row.names,col.names=col.names,...)
}
write.excel(my.df)
最后在 Excel 中按 Ctr+V :)
我通常会获取以下函数:
cb <- function(df, sep="\t", dec=",", max.size=(200*1000)){
# Copy a data.frame to clipboard
write.table(df, paste0("clipboard-", formatC(max.size, format="f", digits=0)), sep=sep, row.names=FALSE, dec=dec)
}
一些注意事项:
使用方法:
df <- mtcars
cb(df)
# Paste in excel as 'values'
根据我的经验,没有方便的方法,我使用两种方法:
对于小型数据框,使用 RStudio 的
View(data.frame)
功能,如果您仅复制没有标题的数据,则效果很好,但如果您想复制带有标题的数据,则必须先将其粘贴到记事本中,以在顶部添加至少一个字符留下空单元格。
对于大型数据框,请使用
write.csv
或 write.xls
(来自包 WriteXLS
)