有没有办法对log(x+1)R 中的值向量的均值进行反向变换?我尝试使用包expm1()中的函数base,但数字肯定不正确。
df <- c(11, 24, 21, 63, 44, 95, 12, 43, 0, 5, 26, 22, 25, 48, 86, 2)
mean(df)
Run Code Online (Sandbox Code Playgroud)
这给了我们 32.9375
现在,如果我们这样做...
df.log1p <- log1p(df)
mean(df.log1p)
Run Code Online (Sandbox Code Playgroud)
这给了我们 3.0382116
现在,我可以对单个平均值进行反向转换以获得非log1p平均值 32.9375 吗?我曾经expm1(3.0382116)尝试过,但得到的是 19.86789。
这有可能吗?
不,这是不可能的。不幸的是,mean(log1p(x)) == mean(log(1 + x))这是一种单向操作。想象
A <- c(1 / exp(1) - 1, exp(1) - 1)
B <- c(0, 0)
Run Code Online (Sandbox Code Playgroud)
如你看到的
mean(A) = 0.5430806
mean(B) = 0
Run Code Online (Sandbox Code Playgroud)
但
mean(log1p(A)) = 0
mean(log1p(B)) = 0
Run Code Online (Sandbox Code Playgroud)
所以有mean(log1p(...))你无法得到mean(...)。对于给定的集合,只要集合有多个项目,mean(log1p())就会有无限多个不同的对应项。mean