【发布时间】:2017-11-08 22:20:24
【问题描述】:
我想计算数字大于或等于 1 的数字向量 x 的小数点前的位数。例如,如果向量是
x <- c(2.85, 356.01, 66.1, 210.0, 1445.11, 13.000)
我的代码应该返回一个包含整数 1、3、2、3、4、2 的向量
有人知道怎么做吗?
【问题讨论】:
-
calculate the number of digits in a numeric vector in R 的可能重复项——只需稍作改动即可:
nchar(sub('\\.[0-9]+', '', x)) -
不是很精通R,但一种选择是
int(floor(x)),去掉x中的尾随小数,然后你可以转换成字符串并计算字符数。 -
nchar(as.integer(x)) -
@Frank 我认为是
floor(log10(x)) + 1,所以10次幂计算正确。 -
q 的语言不可知版本:stackoverflow.com/questions/6655754/…
标签: r