-1
我正在使用R從文件中選擇前2列,並使用函數「table」從中創建矩陣,然後將其打印到文件中。問題是標題向左移動1個單元格。R中的打印矩陣到文件
輸入文件是:
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
看來,一個塔布在開始時失蹤!
我的代碼是:
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")
任何想法?
如果你把在'write.table'調用中'col.names = NA'選項應該修復因爲ExoS而導致列號 – Bernardo 2014-10-30 14:52:15
不匹配,等等都是row.names,所以沒有列標題相關... – Cath 2014-10-30 14:53:08
@CathG,正好。另一種選擇是使用'row.names = FALSE'選項省略行名稱 – Bernardo 2014-10-30 15:05:02