【发布时间】:2016-03-04 03:25:19
【问题描述】:
我需要将一些数据转换为“正常形状”,并且我了解到 Box-Cox 可以识别用于转换数据的指数。
根据我的理解
car::boxCoxVariable(y)
用于线性模型中的响应变量,并且
MASS::boxcox(object)
用于公式或拟合模型对象。所以,因为我的数据是数据框的变量,所以我发现我可以使用的唯一函数是:
car::powerTransform(dataframe$variable, family="bcPower")
正确吗?还是我错过了什么?
第二个问题是我拿到后该怎么办
Estimated transformation parameters
dataframe$variable
0.6394806
我应该简单地将变量乘以这个值吗? 我这样做了:
aaa = 0.6394806
dataframe$variable2 = (dataframe$variable)*aaa
然后我运行了 shapiro-wilks 检验的正态性,但我的数据似乎也不服从正态分布:
shapiro.test(dataframe$variable2)
data: dataframe$variable2
W = 0.97508, p-value < 2.2e-16
【问题讨论】:
-
我发现这是一个很好的文档,其中包含清晰的 R 代码和示例(以及其他转换)手册中的章节 Transforming Data Summary and Analysis of Extension Program Evaluation in R
-
@Valentin 书中提到的很好的解释。非常感谢!
标签: r regression transformation