我有一些双峰数据,例如生成的数据(R 语言),但我不知道如何将其转换为具有正态分布或同方差性。我正在运行线性判别分析,我需要同方差性,但我无法通过这种分布得到它。你有这个问题的替代方案吗?
生成虚假数据
x = rnorm(100, mean = 10, sd = 2)
y = rnorm(100, mean = 20, sd = 2)
bimodal =c(x,y)
shapiro.test(bimodal)
hist(bimodal)
使用 Box-Cox 进行转换
library(geoR)
lambda=boxcoxfit(bimodal)$lambda
bin.tr.bc=((bimodal^lambda)-1)/(lambda)
shapiro.test(bin.tr.bc)
hist(bin.tr.bc)
日志
shapiro.test(log(bimodal))
hist(log(bimodal))
平方根
shapiro.test(sqrt(bimodal))
hist(sqrt(bimodal))
对数平方
shapiro.test((log(bimodal))^2)
hist((log(bimodal))^2)
对数指数 1.5
shapiro.test((log(bimodal))^1.5)
hist((log(bimodal))^1.5)
立方根
shapiro.test((bimodal)^(1/3))
hist((bimodal)^(1/3))
绝望的反正弦复数变换
shapiro.test(asin((bimodal/max(bimodal))^(1/2)))
hist(asin((bimodal/max(bimodal))^(1/2)))