2012-01-11 6 views
2

私はデータフレームを持っています。これは、長さの異なるリストを組み合わせて構成し、短いものをNAのものにすることによって形成しました。テーブルの代わりに新しい行を付けてください

例:

  [,1] [,2]  [,3] [,4] [,5]  [,6] 
PAHS.147A "TNF" "TRAF6" NA NA  NA  NA  
PAHS.122A "TRAF6" "TRIM25" NA NA  NA  NA  
PAHS.012A "TRAF3" "TRAF4" NA NA  NA  NA  
PAHS.3012A "CD40" "CD40LG" "CD5" "CD70" "CDKN1A" "CEBPB" 
PAHS.038A "VEGFA" "VWF" NA NA  NA  NA  
PAHS.084A "ULK2" "UVRAG" NA NA  NA  NA 

私は、タブ区切りのテキストファイルにテーブルを書き込むためにwrite.table()を使用したいが、代わりにNA年代を有するので、私はちょうど新しい行を開始したい時はいつでも行NAに達します。それを行う簡単な方法はありますか?

NAsを設定しようとしましたが、まだ値が欠落していることを示すタブがありました。私はちょうどタブの代わりにその時点で新しい行が好きです。

答えて

4

はwrite.tableは、セパレータのいくつかの並べ替えて出力定期的なオブジェクト(data.framesと行列)に設計されているので、おそらくcatの1、writeまたはwriteLinesでより多くのトラクションを得るでしょう:

txt <- data.frame(a="a", b="b", c=NA, d=NA ,e=NA) 
txt <- txt[rep(1,10),] # 10 copies 
apply(txt,1,function(x) cat(x[!is.na(x)], "\n", file="out.txt", append=TRUE)) 
+2

+1 。これはいいね。続いて、タブ区切りのファイルを取得するには、最終行の 'function(x)'を次のように置き換えます。 'cat(paste(x [!is.na(x)]、collapse =" \ t ")、sep = "\ n"、file = "out.txt"、append = TRUE) '。 –

+0

タブ。私はタブを忘れてしまった。その省略を修正していただきありがとうございます。 –

関連する問題