簡體   English   中英

對比度lm使用對比度包

[英]Contrasts for lm using contrast package

我正在使用contrast包來為R lm構建對比。 使用以下代碼,我在Trt1和Trt3之間進行對比。

Y <- c(10, 12, 14, 16, 9, 8)
Trt <- gl(n=3, k=2, length=3*2)
Data1 <- data.frame(Y, Trt)

Data1.lm <- lm(Y~Trt, data = Data1)

library(contrast)
Contrs1 <- contrast(Data1.lm, a=list(Trt="1"), b=list(Trt="3"), type = "average")
print(Contrs1, X=TRUE)

我想對(Trt1和Trt2)和Trt3的平均值進行對比。 我用過這段代碼

Contrs2 <- contrast(Data1.lm, a=list(Trt="1", Trt="2"), b=list(Trt="3"), type = "average")
print(Contrs2, X=TRUE)

lm model parameter contrast

  Contrast     S.E.    Lower    Upper    t df Pr(>|t|)
1      6.5 1.224745 2.602315 10.39768 5.31  3   0.0131

Contrast coefficients:
  (Intercept) Trt2 Trt3
1           0    1   -1

我可以看出這不是理想的對比。 我想知道如何在R使用contrast包來獲得正確的對比度。 在這方面的任何幫助將受到高度贊賞。 謝謝

PS我知道在R使用對比矩陣用於aov函數但是對於這個特殊問題我想使用contrast包。

您應該將包含的治療水平指定為矢量( Trt=c("1","2") ),而不是列表。 我通過查看?contrast.lm中的示例來解決這個問題(雖然不可否認它有助於了解您正在尋找的內容):

Contrs2 <- contrast(Data1.lm, a=list(Trt=c("1","2")), b=list(Trt="3"),
                    type = "average")
print(Contrs2, X=TRUE)
## lm model parameter contrast
##   Contrast    S.E.    Lower    Upper    t df Pr(>|t|)
## 1      4.5 1.06066 1.124506 7.875494 4.24  3    0.024

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM