将R中的矩阵打印到文件中

时间:2014-10-30 14:48:30

标签: r matrix

我使用R从文件中选择前2列,并使用函数“table”从中创建矩阵,然后将其打印到文件中。问题是标题向左移动了1个单元格。

输入文件是:

ExoT    ID3 99.64   1374    5   0   1   1374    15428   16801   0.0 2510
ExoT    ID2 99.64   1374    5   0   1   1374    11168   12541   0.0 2510
ExoT    ID1 99.64   1374    5   0   1   1374    11942   13315   0.0 2510
ExoU    ID3 100.00  2064    0   0   1   2064    1144684 1146747 0.0 3812
ExoU    ID2 100.00  2064    0   0   1   2064    1245564 1247627 0.0 3812
ExoU    ID1 100.00  2064    0   0   1   2064    1156352 1158415 0.0 3812
ExoS    ID1 100.00  2064    0   0   1   2064    1156352 1158415 0.0 3812

所需的输出是:

        ID1 ID2 ID3
  ExoS   1   0   0
  ExoT   1   1   1
  ExoU   1   1   1

实际输出是:

  ID1 ID2 ID3
  ExoS   1   0   0
  ExoT   1   1   1
  ExoU   1   1   1

似乎在开始时缺少一个tabb!

我的代码是:

args <- commandArgs(TRUE)
blast_file <- read.table(args[1])
selected <- subset(blast_file, select = c(V1, V2))
table (selected)
final <- table (selected)
write.table(final,file=args[2],sep="\t")

任何想法?

1 个答案:

答案 0 :(得分:1)

要保留row.namescol.names并首先使用标签,您可以分两步导出文件:

首先:

write.table(c("",colnames(final)),file=args[2],sep="\t")

然后:

write.table(final,file=args[2],sep="\t",col.names=F,append=T,row.names=T)