【发布时间】:2019-11-08 14:55:10
【问题描述】:
我正在 R 中创建一个表格。某些行中的值应该有 0 个小数位(例如人数),而其他行中的值应该有 1 个小数位(例如人口百分比)。
我有数据框,然后使用R中的round函数round函数创建两个表-round0(小数点后0位)和round1(小数点后1位)。
round1<-round(prof.table[-c(2:3),], 1)
round0<-round(prof.table[2:3,], 0)
prof.table<-rbind(round0, round1)
将它们组合后,我希望round0 表中的值小数点后为零,而round1 中的值小数点后1 位。但是,在 rbind 之后,所有单元格中的值都有 1 个小数位,所以我的整数显示为 nnn.0。如何从整数中删除这个多余的小数位?
【问题讨论】:
-
你所问的不能用数字来完成,只有当你强制数据到类
"character"时。这是因为这些数字仍然有 16 位小数,它们被四舍五入但仍被编码为 C 语言类型"double",64 位实数。 -
感谢您的解释!我需要在报告中显示数据,所以我在一轮之后使用
as.character命令让它显示没有小数点。r round1<-round(prof.table[-c(2:3),], 1) round1$`V1`<-as.character(round1$`V1`) round1$`V2`<-as.character(round1$`V2`) round0<-round(prof.table[2:3,], 0) round0$`V1`<-as.character(round0$`V1`) round0$`V2`<-as.character(round0$`V2`) prof.table<-rbind(round0, round1)