【问题标题】:How to specify the number of decimal places for numeric values written to a file in R?如何指定写入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 写入文件,以便将数值写入为恰好有两位小数的数值?

【问题讨论】:

    标签: r


    【解决方案1】:

    您可以将quote=FALSE 添加到您的write.csv 通话中。

    例如:

    df[] <- lapply(df, sprintf, fmt='%.02f')
    write.csv(df, f <- tempfile(), row.names=FALSE, quote=FALSE)
    file.show(f)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-07
      • 2018-12-08
      • 1970-01-01
      • 1970-01-01
      • 2011-05-26
      相关资源
      最近更新 更多