RStudio-假设检验

  • 单因素方差分析(假设因变量服从正态分布,各组方差相等)
    # 正态性检验:用Shapiro-Wilk检验
cholesterol <- na.omit(cholesterol)
shapiro.test(cholesterol)    

若P>α,则认为数据集服从正态分布。
注:常见问题及解决方法:

 # 问题1
Error: is.numeric(x) is not TRU 
cholesterol <- as.numeric(cholesterol)
 # 问题2
Error: (list) object cannot be coerced to type 'double'
cholesterol <- as.matrix(cholesterol)
cholesterol <- as.numeric(cholesterol)
shapiro.test(cholesterol) 

# 方差齐性检验:用bartlett检验

bartlett.test(response~trt,data = cholesterol)  

若P >α,则认为方差相同,差异不显著。
注:常见问题及解决方法:

Error in eval(m$data, parent.frame()) : object 'cholesterol' not found
Cholesterol是multcomp包中的数据集,需下载并导入multcomp包。

# 离群点检验:方差分析对离群点非常敏感,可用car包中的outlierTest()函数来检测离群点。

> library(multcomp)
> fit <- aov(cholesterol$response~cholesterol$trt)
> outlierTest(fit)
结果:No Studentized residuals with Bonferonni p < 0.05
Largest |rstudent|:
              rstudent unadjusted p-value Bonferonni p
           19 2.251149         0.029422          NA

注释:p-value < 0.05,表明存在离群点,差异是显著的;Bonferonni p(当P>1时将产生NA),表明不存在离群点,Bonferonni在给出推断结论时更为审慎,趋于保守。根据《R语言实战》一书的结果,此处答案是cholesterol数据中不含离群点。要使结果明确化,作图是上上之选,这将在下一节进行总结。

  • 单因素协方差分析(假设因变量服从正态性、同方差性和回归斜率相同)
    回归斜率相同性检验:以multcomp 包中的litter数据集为例。假定四个处理组通过怀孕时间来预测出生体重的回归斜率都相同,单因素协方差分析(ANCOVA)模型包含怀孕时间*剂量的交互项,可通过交互项交互效应的显著性判别回归斜率是否相等。
> library(multcomp)
> fit2 <- aov(weight~gesttime*dose,data=litter)
> summary(fit2)
   结果:        Df  Sum Sq  Mean Sq  F value  Pr(>F)   
gesttime         1    134.3    134.30    8.289  0.00537 **
dose             3    137.1     45.71    2.821  0.04556 * 
gesttime:dose    3    81.9      27.29    1.684  0.17889   
Residuals       66  1069.4     16.20                   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

注释:交互项怀孕时间*剂量的Pr为0.17889,它大于0.05,表明交互效应不显著,支持了斜率相同,差异不显著的假设。

你可能感兴趣的:(RStudio-假设检验)