与 Mathematica 类似,获取 R 中的第一个非零数字

for*_*ter 3 wolfram-mathematica r substr lead

mathematica我们有RealDigits可以识别带小数点和整数值的第一个非零数字。请参阅下面的示例:

RealDigits[ 0.00318, 10, 1]
{{3},-2}
RealDigits[ 419, 10, 1]
{{4},-2}

Run Code Online (Sandbox Code Playgroud)

在上面的示例中,函数识别 3 和 4 分别表示 0.00318 和 419。

中是否有类似的功能R

Ony*_*mbu 5

你可以这样做:

x <- c(0.0000318, 419)

as.numeric(substr(formatC(x, format = 'e'), 1, 1))
# [1] 3 4
Run Code Online (Sandbox Code Playgroud)