我正在尝试使用MASS的write.matrix将矩阵写入.csv文件,但我遇到了一些问题。 当我打印矩阵时,它看起来像这样
p q s S2 R2 R2adj Cp AIC PRESS
1 0 1 167.27779 27981.8583 NA NA 3679.294476 NA NA
2 1 2 160.32254 25703.3165 0.08866209 0.08142925 3343.909110 1666.993 3338167.3
3 1 2 86.73559 7523.0630 0.73326195 0.73114498 891.016823 1509.726 1045980.3
4 1 2 67.50458 4556.8690 0.83843145 0.83714916 490.815893 1445.555 693993.5
但是当我这样做的时候
write.matrix(moDat2, file = paste(targetPath, "dat2.csv", sep="/"), sep=",")
将它保存到像这样的文件
p,q,s,S2,R2,R2adj,Cp,AIC,PRESS
0.000000e+00,1.000000e+00,1.672778e+02,2.798186e+04, NA, NA,3.679294e+03, NA, NA
1.000000e+00,2.000000e+00,1.603225e+02,2.570332e+04,8.866209e-02,8.142925e-02,3.343909e+03,1.666993e+03,3.338167e+06
1.000000e+00,2.000000e+00,8.673559e+01,7.523063e+03,7.332620e-01,7.311450e-01,8.910168e+02,1.509726e+03,1.045980e+06
无论如何我可以将它保存到文件而不将数据转换为科学记数法吗?
答案 0 :(得分:5)
您可以在format
来电中使用write.matrix
。
write.matrix(format(moDat2, scientific=FALSE),
file = paste(targetPath, "dat2.csv", sep="/"), sep=",")
答案 1 :(得分:0)
帮助(MASS :: write.table页面并不表示有可用的控件。这是write.table
帮助页面中关于格式化数字的说法:
“在几乎所有情况下,数字量的转换由选项”scipen“(参见选项)控制,但内部等效数字= 15。为了更精细的控制,使用格式制作字符矩阵/数据框,并在其上调用write.table。“