在write.table中添加空白字段和​​列名称

时间:2016-01-11 15:45:08

标签: r

我使用write.table将矩阵输出为.txt文件。我试图为rownames添加一个空白列,然后使用col.names参数添加列名。我已经看到很多关于如何做其中一个的答案,但没有一个表明如何做到这两个。 (之后很容易手动修复,但如果其他人能够理解我的脚本(大约1500行并为科学出版物编写),我非常希望将它全部包含在R中码)。

我知道如果col.names = NA且row.names = TRUE,则会添加空白列名称。但是,我希望像这样使用col.names参数

write.table(x,"~/Desktop/Folder/myfile_x.txt",sep="\t",
row.names=TRUE,col.names=c("\",\"Name1","Name2","Name3",....) 

这给了我这样的输出

\,\"Name1"  Name2   Name3...
rowname1    0   0
rowname2    3   2
rowname3    3   7

我想要的地方

[BLANK] Name1   Name2...    
rowname1    0   0
rowname2    3   2
rowname3    3   7

其中第一个列名称(对于rownames / numbers)是一个空白字段。

我知道我可以尝试使用paste()进行解决方法,但如果可以使用col.names,那将会更容易。提前谢谢!

1 个答案:

答案 0 :(得分:0)

如果以下内容无关紧要或无效,请帮助我更好地理解您的问题。我认为你只是想把rownames作为一个列,它有“”colname,所以说..在这种情况下,你不需要write.table中的row.names:

library(dplyr)
data("mtcars")
cbind(rownames(mtcars), mtcars) -> mtcars.nm
colnames(mtcars.nm)<-c("", colnames(mtcars))
mtcars.nm %>% 
  write.table(x=., file="tmp.txt", sep="\t", quote=FALSE, row.names=FALSE)