1

我正在尝试对数据集中的非正态变量使用反双曲自 (IHS) 变换。我在互联网上找到的代码对我不起作用。这是我尝试过的:

ihs <- function(col) { 
                transformed <- log((col) +  (sqrt(col)^2+1));
                return(transformed)
                }

col指我要转换的数据框中的列。

4

1 回答 1

0

如果你有一个数值向量 x,你可以使用这个asinh()函数:

x = seq(-10, 10, 1)
x_ihs = asinh(x)

如果您想定义自己的函数来手动执行,请使用:

my_asinh <- function(var) { var_ihs = log(var + sqrt(var^2+1)); return(var_ihs) }
x_ihs2 = my_asinh(x)

如果没有更多信息,您的代码究竟为什么不起作用还不清楚,但希望这个答案可以帮助其他有同样问题的人。

于 2020-12-11T16:49:41.567 回答