如何使用R语言进行正态性检验

Python033

如何使用R语言进行正态性检验,第1张

x<-c(-10:10)shapiro.test(x)Shapiro-Wilknormalitytestdata:xW=0.95993,p-value=0.5148shapiro.test(c(x,"a"))Error:is.numeric(x)isnotTRUE你的数据不全是数字。

)attach(byu)

lm(salary ~ age+exper)

lm(salary~.,byu) #利用全部自变量做线性回归

lm()只能得出回归系数,要想得到更为详尽的回归信息,应该将结果作为数据保存或者使用“拟合模型”(fitted model)

result<-lm(salary~age+ exper + age*exper, data=byu)

summary(result)

myresid<-result$resid #获得残差

vcov(result) #针对于拟合后的模型计算方差-协方差矩阵

shapiro.test(b) #做残差的正太性检验

qqnorm(bres)qqline(bres) #做残差

首先可以利用fitdistr函数求得weibull分布的形状参数和尺寸参数,假设数据为x:

library(MASS) #fitdistr需要利用MASS包

fitdistr(x, densfun = "weibull",lower=0)

得到形状参数shape与尺度参数scale

然后利用ks.test进行检验:

ks.test(jitter(x),"pweibull",shape,scale)

上边的jitter用来做小扰动,因为如果x中有重复数据的话ks.test会报错,如果x中没有重复数据则不需要jitter。shape是得到的形状参数,scale是得到的尺度参数。

ks.test得到两个结果,一个是D,越小越好,一个是p-value,这个值要大于0.05