回答
您可以通過格式轉換你的號碼爲字符串根據您的需要,然後使用參數quote = FALSE
在調用write.table
做到這一點。
dfr <- data.frame(x = 10^(0:15))
dfr$y <- format(dfr$x, scientific = FALSE)
write.table(dfr, file = "test.txt", quote = FALSE)
請注意,您不應該更改文件中數字的格式。幾乎每一件科學軟件和每個電子表格都可以理解數字的科學記號,並且還具有數字格式選項,因此您可以查看它們的選擇方式。
如果輸入是科學記數法和顯式記數法的混合,那麼您將編寫自己的解析器來讀取數字並記錄哪些是哪種格式。事實上,你會想要保留這些數字的字符串表示,因此你可以寫回,正好是輸入內容。
但是,如果您只是想以一致的顯式表示法編寫write.table(),請嘗試。
write.table(format(_your_table_here_, scientific=FALSE), ...)
我只會在撥打write.table
之前更改scipen
選項。請注意,這也會改變打印到控制檯時數字的顯示方式。
options(scipen=10)
write.table(foo, "foo.txt")
options(scipen=0) # restore the default
如果我只需要一行,而且我有幾個? – skan 2010-10-20 14:31:39
@ user425895:然後你需要在你的問題中指定。 – 2010-10-20 14:39:06
現代變體:'withr :: with_options(c(scipen = 10),write.table(foo,「foo.txt」)'。 – 2016-07-19 13:42:30
對於所有行的最大控制環和它們打印與的sprintf
# Find number of rows in data.frame test
nrows <- dim(test)[1]
# init a new vector
mylines <- vector("character",dim(test)[1])
# loop over all rows in dataframe
for(i in 1:nrows){
# Print out exactly the format you want
mylines[i] <- sprintf("Line %d: %.2f\t%.2f",1,test[i,"x"],test[i,"y")
}
# write lines to file
writeLines(mylines,"out.txt")
- 1. 以XML格式書寫2D點
- 2. 書寫數字鍵盤
- 3. 以特定格式(Python)書寫和閱讀字典
- 4. 在java中將x509證書寫入PEM格式的字符串?
- 5. 使用onkeypress書寫數字字
- 6. org.apache.poi for xls寫數字格式問題
- 7. Grails重寫現場數字格式
- 8. 書寫數據++
- 9. Tategaki-ios書寫風格
- 10. JS書籤填寫表格
- 11. 重寫字符串格式化無需格式函數
- 12. X509證書格式
- 13. SQL書面方式格式
- 14. 數字格式
- 15. 數字格式
- 16. 數字格式
- 17. 數字格式
- 18. 數字格式
- 19. 數字格式
- 20. 數字格式
- 21. TCL書寫套接字
- 22. 在WriteableBitmap上書寫文字
- 23. 用折線書寫文字
- 24. PHP數字格式與整數格式
- 25. 數字格式化,每隔3位填寫一個空格
- 26. SSL的合格數字證書
- 27. Statsmodels:書寫式的短方式
- 28. HighCharts - 以簡寫形式顯示$的數字格式
- 29. 閱讀/書寫標題字符串和數字數組
- 30. 從數組寫入Google電子表格(數字格式)中的單元格?
格式化的文本文件,我也許應該提到的是使用'報價= FALSE'將停止所有** **字符和因子列被引用。 – 2010-10-20 17:08:48
我將csv文件傳遞給postgres數據庫。默認的sql不會將1e + 5識別爲整數... – Rodrigo 2015-09-03 18:05:09
例如Circos(http://circos.ca/)需要非科學格式。因此,我猜想,Perl不會將科學數字視爲整數。 – 2016-07-19 10:24:16