首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在R中编写每列具有不同小数位数的数据帧

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

Stack Overflow用户
提问于 2013-06-14 01:30:05
回答 1查看 3.4K关注 0票数 5

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

例如:

代码语言:javascript
复制
Scale       Status
1.874521    1

需要在CSV中打印为:

代码语言:javascript
复制
Scale,      Status
1.874521,   1.000

这必须是一个数字值,因为我已经尝试过format(DF$status, digits=3)as.numeric(format(DF$status, digits=3)),但是这会将其转换为在导出到CSV时具有双引号的字符“。

我的实际dataframe有许多列,需要不同数量的小数位,以及需要双引号的字符,所以我不能应用系统范围的更改。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-14 03:02:35

与执行quote=FALSE相比,更好的选择是实际指定要引用的列,因为quote参数可以是要引用的列索引的向量。例如。

代码语言:javascript
复制
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
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17093416

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档