欢迎光临散文网 会员登陆 & 注册

R语言析因设计分析:线性模型中的对比

2021-03-02 22:33 作者:拓端tecdat  | 我要投稿

对比度可用于对线性模型中的处理进行比较。

常见的用途是使用析因设计时,除析因设计外还使用控制或检查处理。在下面的第一个示例中,有两个级别(1和2)的两个处理(D和C),然后有一个对照 处理。此处使用的方法是方差的单向分析,然后使用对比来检验各种假设。

在下面的第二个示例中,对六种葡萄酒进行了测量,其中一些是红色,而有些是白色。我们可以比较的治疗中通过设置对比,并进行F检验红酒组。这类似于测试红酒的主要效果。

  

 

使用的软件包

如果尚未安装这些软件包,则以下命令将安装它们:

  1. if(!require(car)){install.packages("car")}

  2. if(!require(lsmeans){install.packages("lsmeans")}

  3. if(!require(multcomp)){install.packages("multcomp")}


 

单自由度对比示例

这个假设的例子可以代表一项采用阶乘设计的实验,其中两个处理(D和C)分别处于两个级别(1 和2),并且是对照处理。


 

  1. Data = read.table(textConnection(Input),header=TRUE)




  2. Data$Treatment = factor(Data$Treatment,

  3. levels=unique(Data$Treatment))


  4. Data


  5. boxplot(Response ~ Treatment,

  6. data = Data,

  7. ylab="Response",

  8. xlab="Treatment")








  9. ###  Define linear model


  10. model = lm(Response ~ Treatment,

  11. data = Data)


  12. library(car)


  13. Anova(model, type="II")


  14. summary(model)



 

 

 

lsmeans示例

 



  1. contrast           estimate        SE df t.ratio p.value

  2. D1vsD2          -0.83333333 0.1549193 10  -5.379  0.0031

  3. C1vsC2          -2.10000000 0.1549193 10 -13.555  <.0001

  4. InteractionDC    0.03333333 0.1549193 10   0.215  1.0000

  5. C1vsC2forD1only -1.03333333 0.1095445 10  -9.433  <.0001

  6. C1vsC2forD2only -1.06666667 0.1095445 10  -9.737  <.0001

  7. TreatsvsControl  3.96666667 0.3464102 10  11.451  <.0001

  8. T1vsC            0.26666667 0.1095445 10   2.434  0.3011

  9. T2vsC            1.30000000 0.1095445 10  11.867  <.0001

  10. T3vsC            0.66666667 0.1095445 10   6.086  0.0012

  11. T4vsC            1.73333333 0.1095445 10  15.823  <.0001



 由于调整方法不同,p值与multcomp ###的p值略有不同。 
   ###两个过程的调整方法,
   ### p值和其他统计信息,将是相同的。

   ###使用
   Adjust =“ none”,结果将与### aov方法相同。

multcomp示例




  1. Estimate Std. Error t value Pr(>|t|)


  2. D1vsD2 == 0          -0.83333    0.15492  -5.379  0.00218 **


  3. C1vsC2 == 0          -2.10000    0.15492 -13.555  < 0.001 ***


  4. InteractionDC == 0    0.03333    0.15492   0.215  0.99938


  5. C1vsC2forD1only == 0 -1.03333    0.10954  -9.433  < 0.001 ***


  6. C1vsC2forD2only == 0 -1.06667    0.10954  -9.737  < 0.001 ***


  7. TreatsvsControl == 0  3.96667    0.34641  11.451  < 0.001 ***


  8. T1vsC == 0            0.26667    0.10954   2.434  0.17428


  9. T2vsC == 0            1.30000    0.10954  11.867  < 0.001 ***


  10. T3vsC == 0            0.66667    0.10954   6.086  < 0.001 ***


  11. T4vsC == 0            1.73333    0.10954  15.823  < 0.001 ***




 

一组治疗中的全局F检验示例

该示例具有由三种红酒和三种白葡萄酒组成的处理。我们将想知道红酒组中的处理是否对响应变量有影响。这种方法之所以具有优势,是因为仍可以在红酒中进行事后比较。

 



  1. boxplot(Response ~ Treatment,

  2. data = Data,

  3. ylab="Response",

  4. xlab="Treatment")


 

 



 

与lsmeans 的对比测试

 

问题:红酒中有功效吗?

 

 



  1. test(Test, joint=TRUE)



  2. df1 df2    F p.value

  3. 2  12 24.3  0.0001




使用2个自由度进行了一次假设检验。这调查了
### 3组治疗的效果。

###结果与multcomp的结果基本相同

问题:白葡萄酒有效果吗?

 



  1. test(Test, joint=TRUE)


  2. df1 df2   F p.value

  3. 2  12 0.3  0.7462


两行对比
使用2个自由度进行了一次假设检验。本研究调查了
###一组3种治疗方法中的效果

###结果与multcomp的结果相同
 

问题:红葡萄酒和白葡萄酒之间有区别吗?而且,红酒的平均分离度

 



  1. contrast        estimate       SE df t.ratio p.value


  2. Red_vs_white          21 1.490712 12  14.087  <.0001


  3. Merlot_vs_Cab         -3 0.860663 12  -3.486  0.0179

  4. Cab_vs_Syrah          -3 0.860663 12  -3.486  0.0179

  5. Syrah_vs_Merlot        6 0.860663 12   6.971  0.0001



请注意,p值是
   由于调整方法不同,因此与multcomp  不同。 
 

使用Multcomp 进行对比测试

 

问题:红酒中有功效吗?

 



  1. Global Test:

  2. F  DF1  DF2     Pr(>F)

  3. 1  24.3    2   12  6.029e-05





 

问题:白葡萄酒有效果吗?

 



  1. Global Test:

  2. F DF1 DF2 Pr(>F)

  3. 1 0.3   2  12 0.7462



 

问题:红葡萄酒和白葡萄酒之间有区别吗?

 



  1. ### Adjustment options: "none", "single-step", "Shaffer",

  2. ###                     "Westfall", "free", "holm", "hochberg",

  3. ###                     "hommel", "bonferroni", "BH", "BY", "fdr"



  4. Linear Hypotheses:

  5. Estimate Std. Error t value Pr(>|t|)

  6. Red_vs_white == 0     21.0000     1.4907  14.087   <0.001 ***


  7. Merlot_vs_Cab == 0    -3.0000     0.8607  -3.486   0.0157 *

  8. Cab_vs_Syrah == 0     -3.0000     0.8607  -3.486   0.0156 *

  9. Syrah_vs_Merlot == 0   6.0000     0.8607   6.971   <0.001 ***


  10. (Adjusted p values reported -- single-step method)





###使用test = adjusted(“ none”),结果将与下面的aov方法相同。

 

 aov内的对比测试

在方差分析中使用单自由度对比的另一种方法是在摘要 函数中使用split选项进行aov分析。
 



  1. boxplot(Response ~ Treatment,

  2. data = Data,

  3. ylab="Response",

  4. xlab="Treatment")



  5. 0.018


 




 




  1. ###  Define contrasts


  2. D1vsD2 =          c(1,  1, -1, -1,  0)

  3. C1vsC2 =          c(1, -1,  1, -1,  0)

  4. InteractionDC =   c(1, -1, -1,  1,  0)

  5. TreatsvsControl = c(1,  1,  1,  1, -4)




  6. Df Sum Sq Mean Sq F value   Pr(>F)

  7. Treatment                     4  6.189   1.547  85.963 1.06e-07 ***

  8. Treatment: D1vsD2           1  0.521   0.521  28.935  0.00031 ***

  9. Treatment: C1vsC2           1  3.307   3.307 183.750 9.21e-08 ***

  10. Treatment: InteractionDC    1  0.001   0.001   0.046  0.83396

  11. Treatment: TreatsvsControl  1  2.360   2.360 131.120 4.53e-07 ***

  12. Residuals                    10  0.180



 

 


R语言析因设计分析:线性模型中的对比的评论 (共 条)

分享到微博请遵守国家法律