2016-05-01 34 views
0

\tシンボルが豊富な入力にwrite.tableを使用すると、invalid 'col.names' specificationエラーを回避するにはどうすればよいですか?サンプルコード:R write.table:無効な 'col.names'の指定

> x <- c("1\t119\t120\t1\t119\t120\tABC\tDEF\t0", "2\t558\t559\t2\t558\t559\tGHI\tJKL\t0", "3\t139\t141\t3\t139\t141\tMNO\tPQR\t0", "3\t139\t143\t3\t139\t143\tSTU\tVWX\t0") 
> x 
[1] "1\t119\t120\t1\t119\t120\tABC\tDEF\t0" 
[2] "2\t558\t559\t2\t558\t559\tGHI\tJKL\t0" 
[3] "3\t139\t141\t3\t139\t141\tMNO\tPQR\t0" 
[4] "3\t139\t143\t3\t139\t143\tSTU\tVWX\t0" 

> write.table(x, file = "file.txt", row.names = FALSE, col.names = c("A", "B", "C", "D", "E", "F", "G", "H", "I")) 
Error in write.table(x, file = "uuu.txt", row.names = FALSE, col.names = c("A", : 
    invalid 'col.names' specification 

次のコマンドは、出力テーブルを生成し、それでも両側に二重引用符を保持ん:

> write.table(x, file = "uuu.txt", row.names = FALSE, col.names = FALSE) 

出力:

"1 119 120 1 119 120 ABC DEF 0" 
"2 558 559 2 558 559 GHI JKL 0" 
"3 139 141 3 139 141 MNO PQR 0" 
"3 139 143 3 139 143 STU VWX 0" 

を代わりに、私がしたいです参照:

A B C D E F G H I 
1 119 120 1 119 120 ABC DEF 0 
2 558 559 2 558 559 GHI JKL 0 
3 139 141 3 139 141 MNO PQR 0 
3 139 143 3 139 143 STU VWX 0 

' strsplit(x, split = "\t")のいくつかの組み合わせを試してからwrite.tableを呼び出す前に入力を前処理しましたが、同じエラーが発生しました:invalid 'col.names' specification

答えて

2

既に表形式でない場合は、表形式にデータを書き込むことはできません。 xを読み、

write.table(read.table(text = x), 'file.txt', col.names = LETTERS[1:9], quote = FALSE) 
と書いてください
関連する問題