R:as.character删除数字的尾随零,如何避免

guicsvcw  于 2022-12-20  发布在  其他
关注(0)|答案(1)|浏览(106)

我有

kappa<-c(0.10, NA, 0.0740)

当我做了

kappa %>% replace(is.na(.), "")

我得到

> kappa %>% replace(is.na(.), "")
[1] "0.1"   ""      "0.074"

我也一样

> as.character(kappa)
[1] "0.1"   NA      "0.074"

如何避免(在remove()的情况下)删除尾随零?我希望得到以下向量

"0.10", NA, "0.0740"
jogvjijk

jogvjijk1#

您正在查找format(),其中nsmall参数作为位数。
这个数字可以计算为数值向量以10为底的对数的最大值(但显然可以输入任意值)。
下面是代码:

kappa = c(0.10, NA, 0.0740)
n_digits = max(abs(log(kappa)), na.rm=TRUE)
format(kappa, nsmall=n_digits)
#> [1] "0.100" "   NA" "0.074"

创建于2022年12月13日,使用reprex v2.0.2

相关问题