我有这个变量:
> 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的经验很少让我相信我错过了一些简单的东西?
答案 0 :(得分:1)
您需要明确设置ncolumns
参数。根据{{1}},?write
的默认值为:
ncolumns = if(is.character(x))1 else 5
由于ncolumns
将数字向量转换为字符向量,因此每行总是有一列;以编程方式,您可以将format
设置为等于每个子列表的向量长度:
ncolumns