Jos*_*ich 40
我会scipen
在调用之前更改选项write.table
.请注意,这也将更改打印到控制台时数字的显示方式.
options(scipen=10)
write.table(foo, "foo.txt")
options(scipen=0) # restore the default
Run Code Online (Sandbox Code Playgroud)
Ric*_*ton 18
您可以通过将数字转换为具有所需格式的字符串,然后使用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)
Run Code Online (Sandbox Code Playgroud)
请注意,您不需要更改文件中数字的格式.几乎所有科学软件和每个电子表格都能理解数字的科学记数法,并且还有数字格式选项,因此您可以查看它们的选择方式.
如果输入是科学记数法和显式记法数字的混合,那么您将编写自己的解析器来读取数字并跟踪哪些格式.实际上,您需要保留这些数字的字符串表示,以便您可以准确地回写输入中的内容.
但是,如果您只想使用一致的显式表示法编写write.table(),请尝试.
write.table(format(_your_table_here_, scientific=FALSE), ...)