如何指定写入R中文件的数值的小数位数?
Posted
技术标签:
【中文标题】如何指定写入R中文件的数值的小数位数?【英文标题】:How to specify the number of decimal places for numeric values written to a file in R? 【发布时间】:2016-08-06 04:26:48 【问题描述】:我要取这个数据框
df <- data.frame(col1 = c(1.224, 1.3), col2 = c(0.8011, 1.90))
并将其写入文件,以便每个数值精确显示两位小数。我尝试了Controlling digits in R in write.csv中给出的解决方案,但是当我使用时
write.csv(format(df, digits = 2, nsmall = 2), "./testout.csv")
我文件中的数值已转换为字符串。于是我尝试了Formatting Decimal places in R给出的解决方案,如下:
write.csv(format(round(df, 2), nsmall = 2), "./testout.csv")
但是,文件再次显示我的数值已转换为字符串。
如何将此 data.frame 写入文件,以便将数值写入为恰好有两位小数的数值?
【问题讨论】:
【参考方案1】:您可以将quote=FALSE
添加到您的write.csv
通话中。
例如:
df[] <- lapply(df, sprintf, fmt='%.02f')
write.csv(df, f <- tempfile(), row.names=FALSE, quote=FALSE)
file.show(f)
【讨论】:
以上是关于如何指定写入R中文件的数值的小数位数?的主要内容,如果未能解决你的问题,请参考以下文章