r-如何对零值数据执行日志转换



我正在尝试用以下方法对数据进行日志转换。。。

skew(data_1)
any(data_1 == 0) 
data_1_no_zero <- data_1 != 0
transform <- log(data_1_no_zero) 
skew(transform)
[1] NaN

但我得到了NaN的以下输出,我知道它不是一个数字。有人能帮忙弄清楚这是怎么回事吗?或者还能做些什么来获得更好的输出?

您最近的问题是您应该编写

data_1_no_zero <- data_1[data_1 != 0]

也就是说,选择data_1的非零元素na.omit(log(data_1))也会起作用,尽管可以说先去除零更好(更上游(。

至于你应该做的更广泛的事情——使用不同的变换,去掉零,加1/使用log1p(),加一个小常数(例如data_1 <- data_1 + min(data_1[data_1>0])/2(。。。这在很大程度上取决于你的背景/你想做什么。

相关内容

  • 没有找到相关文章

最新更新