如何在使用 write.table 复制和粘贴数据框时在输出 table 上方添加一行文本?
How to add a row of text above the output table when using write.table to copy and paste a data frame?
假设我们有以下名为 data
的数据框,由下面的代码生成:
> data
ID Period Values
1 1 1 5
2 1 2 10
3 1 3 15
4 2 1 12
5 2 2 0
6 2 3 2
7 3 1 4
8 3 2 -8
9 3 3 3
data <-
data.frame(
ID = (c(1,1,1,2,2,2,3,3,3)),
Period = as.numeric(c(1, 2, 3, 1, 2, 3, 1, 2, 3)),
Values = as.numeric(c(5, 10, 15, 12, 0, 2, 4, -8, 3))
)
接下来,我们使用下面的基本 R 中的简单代码将 data
复制并粘贴到 Excel sheet:
write.table(x = data,
file = "clipboard",
sep = "\t",
row.names = FALSE,
col.names = TRUE
)
当copy/pasting数据变成Excel时,我想在table的正上方插入一行描述table的文字(例如:Table name is "Data"), 如下图所示.
如何修改以上代码以在 table 上方插入文本行?最好在基 R 中?
仅剪贴板
writeLines(
c("table name is mtcars",
capture.output(write.table(mtcars[1:3,], sep = "\t", row.names = FALSE))),
"clipboard")
...然后粘贴到 Excel。我曾经 运行 遇到过数据嵌入问题(嵌入选项卡等)的问题,也许链中的某些内容(包括“我”)没有正确处理所有事情。
在 windows 上,可以将 writeLines(.., "clipboard")
替换为 writeClipboard
,但该功能只有 windows。在其他操作系统上,可以为剪贴板 reading/writing.
安装 clipr
包
使用文件
writeLines("table name is mtcars", con = "somefile.csv")
write.table(mtcars[1:3,], "somefile.csv", row.names = FALSE, append = TRUE, sep = ",")
# Warning in write.table(mtcars[1:3, ], "somefile.csv", row.names = FALSE, :
# appending column names to file
(不能使用write.csv
,因为它不能容忍append=TRUE
,抱怨attempt to set 'append' ignored
。)
结果文件:
table name is mtcars
"mpg","cyl","disp","hp","drat","wt","qsec","vs","am","gear","carb"
21,6,160,110,3.9,2.62,16.46,0,1,4,4
21,6,160,110,3.9,2.875,17.02,0,1,4,4
22.8,4,108,93,3.85,2.32,18.61,1,1,4,1
它在 Excel 中打开为
假设我们有以下名为 data
的数据框,由下面的代码生成:
> data
ID Period Values
1 1 1 5
2 1 2 10
3 1 3 15
4 2 1 12
5 2 2 0
6 2 3 2
7 3 1 4
8 3 2 -8
9 3 3 3
data <-
data.frame(
ID = (c(1,1,1,2,2,2,3,3,3)),
Period = as.numeric(c(1, 2, 3, 1, 2, 3, 1, 2, 3)),
Values = as.numeric(c(5, 10, 15, 12, 0, 2, 4, -8, 3))
)
接下来,我们使用下面的基本 R 中的简单代码将 data
复制并粘贴到 Excel sheet:
write.table(x = data,
file = "clipboard",
sep = "\t",
row.names = FALSE,
col.names = TRUE
)
当copy/pasting数据变成Excel时,我想在table的正上方插入一行描述table的文字(例如:Table name is "Data"), 如下图所示.
如何修改以上代码以在 table 上方插入文本行?最好在基 R 中?
仅剪贴板
writeLines(
c("table name is mtcars",
capture.output(write.table(mtcars[1:3,], sep = "\t", row.names = FALSE))),
"clipboard")
...然后粘贴到 Excel。我曾经 运行 遇到过数据嵌入问题(嵌入选项卡等)的问题,也许链中的某些内容(包括“我”)没有正确处理所有事情。
在 windows 上,可以将 writeLines(.., "clipboard")
替换为 writeClipboard
,但该功能只有 windows。在其他操作系统上,可以为剪贴板 reading/writing.
clipr
包
使用文件
writeLines("table name is mtcars", con = "somefile.csv")
write.table(mtcars[1:3,], "somefile.csv", row.names = FALSE, append = TRUE, sep = ",")
# Warning in write.table(mtcars[1:3, ], "somefile.csv", row.names = FALSE, :
# appending column names to file
(不能使用write.csv
,因为它不能容忍append=TRUE
,抱怨attempt to set 'append' ignored
。)
结果文件:
table name is mtcars
"mpg","cyl","disp","hp","drat","wt","qsec","vs","am","gear","carb"
21,6,160,110,3.9,2.62,16.46,0,1,4,4
21,6,160,110,3.9,2.875,17.02,0,1,4,4
22.8,4,108,93,3.85,2.32,18.61,1,1,4,1
它在 Excel 中打开为