2012-12-09 92 views
4

我正嘗試使用來自MASS的write.matrix將.m文件寫入.csv文件,但我遇到了一些問題。 當我打印的矩陣它看起來像這樣將矩陣保存爲R中的.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 

反正我有可以將它保存沒有將數據轉換爲科學記數法的文件? 。

回答

5

您可以在write.matrix的電話內使用format

write.matrix(format(moDat2, scientific=FALSE), 
       file = paste(targetPath, "dat2.csv", sep="/"), sep=",") 
+0

謝謝!這工作非常好:) –

+0

@ afsg77沒有問題 –

0

幫助(頁面MASS :: write.table並不意味着有可用的控制這是write.table的幫助頁說,關於格式化數字:

「在幾乎所有情況下的數值轉換數量由選項「scipen」(見選項)控制,但內部等效於數字= 15。爲了實現更好的控制,請使用格式創建字符矩陣/數據框,然後調用write.table。「

相關問題