在 R 中编写每列具有不同小数位数的数据框

2024-06-25

我需要生成一个 dataframe 或 data.table,其中每列具有不同的小数位数。

例如:

Scale       Status
1.874521    1

需要以 CSV 格式打印为:

Scale,      Status
1.874521,   1.000

正如我所尝试的那样,这必须是一个数值format(DF$status, digits=3) and as.numeric(format(DF$status, digits=3))但是,这会将其转换为导出到 CSV 时带有双引号的字符“。

我的实际数据框有很多列,需要不同数量的小数位数以及需要双引号的字符,因此我无法应用系统范围的更改。


比做更好的选择quote=FALSE,是实际指定要引用的列,如quoteparam 可以是要引用的列索引向量。例如。

d = data.table(a = c("a", "b"), b = c(1.234, 1.345), c = c(1, 2.1))
d[, b := format(b, digits = 2)]
d[, c := format(c, nsmall = 3)]
d
#   a   b     c
#1: a 1.2 1.000
#2: b 1.3 2.100

write.csv(d, 'file.csv', quote = c(1,2), row.names = F)
#file.csv:
#"a","b","c"
#"a","1.2",1.000
#"b","1.3",2.100
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 R 中编写每列具有不同小数位数的数据框 的相关文章

随机推荐