gpt4 book ai didi

r - 计算R中数字向量中的位数

转载 作者:行者123 更新时间:2023-12-04 13:49:03 28 4
gpt4 key购买 nike

我在R中有一个数字向量:

 c(0.9, 0.81)

我想提取此向量中每个元素的位数。在这种情况下,该命令将返回 12,因为数字是 981。有方便的方法吗?另外,如果结果是 1,如何扩展为两位数?例如,我希望返回的向量为
 c(0.90, 0.81)

最佳答案

x <- c(0.9,0.81,32.52,0);
nchar(sub('^0+','',sub('\\.','',x)));
## [1] 1 2 4 0

这将除去小数点,然后除去所有前导零,最后将字符串长度用作计算有效位数的间接手段。对于零输入,它自然会返回零,但是您可以使用 if表达式显式测试该情况,并根据需要返回一个。

如akrun所述,对于小数点后两位数字的打印:
sprintf('%.2f',x);
## [1] "0.90" "0.81" "32.52" "0.00"

关于r - 计算R中数字向量中的位数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31894169/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com