R 使非正常数据正常化

R 使非正常数据正常化,r,spss,normal-distribution,R,Spss,Normal Distribution,我有一个包含两个变量(态度和再购买意愿)的数据集,我想分别检查它们的正态性。 我在SPSS和R中取了log、Ln和平方根,但仍然是非正常数据,也进行了正态性测试,但这对我没有好处,因为我想知道如何使数据正常化。 所以我发现很难进行进一步的分析。 请帮忙我不确定这是否能回答您的问题。 要强制向量的分布尽可能接近标准正态分布,同时保留相对排名,可以对其应用此函数: quantNorm = function(x){qnorm(rank(x,ties.method = "average")/(lengt

我有一个包含两个变量(态度和再购买意愿)的数据集,我想分别检查它们的正态性。 我在SPSS和R中取了log、Ln和平方根,但仍然是非正常数据,也进行了正态性测试,但这对我没有好处,因为我想知道如何使数据正常化。 所以我发现很难进行进一步的分析。
请帮忙

我不确定这是否能回答您的问题。 要强制向量的分布尽可能接近标准正态分布,同时保留相对排名,可以对其应用此函数:

quantNorm = function(x){qnorm(rank(x,ties.method = "average")/(length(x)+1))}
示例代码:

hist(quantNorm(1:10000),100)

尝试将标准化为
log(c+x)
其中
x
是变量,
c
是某个常量值。您可以尝试使用网格搜索找到最佳的
c
值。

如果没有看到数据,谁能提供帮助?使用“dput(yourdata)”并在此处发布输出。此外,这篇文章可能会帮助你:你为什么想要这个?a)这不是一个编程问题,因此与Stackoverflow无关。b) 如果你的数据不正常,那就是不正常。要么使用对破坏正态性具有鲁棒性的测试,要么最好使用非参数或其他不需要正态性的方法。@AndreyShabalin:这种正态化方法有什么名字吗?正态分位数正态化或正态分位数变换。