【问题标题】:How to add column headers to file being output in R?如何将列标题添加到在 R 中输出的文件?
【发布时间】:2017-07-16 15:46:14
【问题描述】:

我正在使用以下代码创建一个格式整齐的输出文件,其中列整齐排列:

library(gdata)
CompositeMatrix = cbind(array1,array2,array3)
    
write.fwf(CompositeMatrix,file="output.txt",sep="\t", quote=F,rownames=F,colnames=F)

但是,我遇到的问题是我无法将列标题添加到此文件中。如果我将colnames 更改为 T,它只会添加“V1”、“V2”、“V3”作为列标题。 write.fwf() 函数的 rowCol 参数据说只在 rownames=T 时有效,我不希望显示行号。而且,到目前为止,为rowCol 指定值还没有奏效。使用write.table() 没有用处,因为输出文件具有交错列,这使得对输出的可视化分析变得困难。

任何关于如何修改上述代码以添加列标题的建议将不胜感激。谢谢!

更新:(a) Gregor 的建议有效地将列标题添加到我的输出文件中——谢谢! (b) 不,我的矩阵中没有列名。

【问题讨论】:

  • 你的矩阵中有列名吗?
  • 附带说明,最好写出 TRUE 和 FALSE 而不是使用快捷键 T 和 F。例如,R 可以使用 F <- TRUE,这会破坏您的 write.fwf 行.
  • colnames(CompositeMatrix) <- c("Column_1_name", "col2Name", "etc.")。然后在写命令中colnames = T
  • 据我所知,R中没有write.fwf函数。
  • write.fwf 在包 gdata 中

标签: r write.table


【解决方案1】:

感谢@GregorThomas 和其他人:如果矩阵没有任何列名,我们需要在使用write.fwf()之前将它们添加到colnames()

library(gdata)
CompositeMatrix = cbind(array1, array2, array3)
colnames(CompositeMatrix) <- c("Col1Name", "Col2Name", "etc.")

write.fwf(CompositeMatrix, file="output.txt", sep="\t", quote=FALSE, rownames=FALSE, colnames=TRUE)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-11
    • 2021-09-21
    相关资源
    最近更新 更多