2017-04-24 14 views
1

私は、この変数を持っている:R出力TSV

> output 
[[1]] 
[1] 1.394082e+19 3.481687e+18 1.829848e+19 1.414608e+19 1.694183e+19 1.394082e+19 

[[2]] 
[1] 1.569580e+19 1.569580e+19 1.204701e+19 1.600159e+19 6.915915e+18 4.672586e+18 1.095256e+19 1.395906e+19 2.199774e+18 

[[3]] 
[1] 1.602384e+19 2.610937e+18 1.750534e+19 3.749841e+17 1.602384e+19 1.921356e+18 1.490877e+19 1.858905e+17 9.592238e+18 

[[4]] 
[1] 1.488400e+19 8.239013e+18 1.397958e+19 1.488400e+19 5.659786e+17 1.235961e+18 1.802728e+19 

[[5]] 
[1] 1.038415e+19 5.060804e+18 3.892644e+18 1.038415e+19 

私は科学表記なしTSVファイルに印刷したいです。何かのように

1.56958e+19  1.56958e+19  1.204701e+19 1.600159e+19 6.915915e+18 
4.672586e+18 1.095256e+19 1.395906e+19 2.199774e+18 
1.602384e+19 2.610937e+18 1.750534e+19 3.749841e+17 1.602384e+19 
1.921356e+18 1.490877e+19 1.858905e+17 9.592238e+18 
1.4884e+19  8.239013e+18 1.397958e+19 1.4884e+19  5.659786e+17 

ただし科学的表記はありません。私がしようとした場合、

x <- c(1:length(output))) 
for (val in x) { 
    write(format(output[[val]],scientific = FALSE),file="test2.txt", append=TRUE,sep="\t") 
} 

は、私はすべての数のための新しい行を取得:

13940817034235316224 
3481686930273376256 
18298477684861163520 
14146076755830216704 
16941832990896044032 
13940817034235316224 
15695800775901642752 
15695800775901642752 

は、アイブ氏はいくつかのバリエーションを試してみましたが、Rと少しの経験を持つことは、私は、単純な何かが欠けてると信じて私をリード?

答えて

1

ncolumnsパラメータを明示的に設定する必要があります。 ?writeによると、ncolumnsのデフォルトは次のとおりです。

ncolumnsの=場合(is.character(x))を他の1 5

formatは文字ベクトルの数値ベクトルを変換しているので、あなたは常に持っています1行に1列。プログラムによって、ncolumnsを各サブリストのベクトルの長さに等しく設定できます。

for(vec in output) { 
    write(format(vec, scientific=FALSE), file="test2.txt", append=TRUE, sep="\t", ncolumns=length(vec)) 
}