我想对一个模型的不同变量进行多重比较分析。我的想法如下:
a
V1 V2
1 t1 5.0
2 t1 4.0
3 t1 2.0
4 t1 5.0
5 t1 5.0
6 t2 4.0
7 t2 3.0
8 t2 4.0
9 t2 9.0
10 t2 3.0
11 t3 2.0
12 t3 3.0
13 t3 2.0
14 t3 6.0
15 t3 8.0
tuk<-glht(fit,linfct=mcp(a$V1="Tukey"))当我跑的时候,它显示:
“Variable(s) ‘trt’ have been specified in ‘linfct’ but cannot be found in ‘model’!”我不知道该怎么处理。
发布于 2015-07-03 21:53:21
在计算fit和调用glht之间,您似乎以某种方式更改了数据和/或变量的名称。您的代码有V1,但错误有trt。很难更详细地说明,因为您的示例不能完全复制(缺少fit的计算)。如果我重新运行我认为您所做的(或者应该做的事情),一切都会顺利进行。
首先,让我们阅读数据:
a <- read.table(textConnection(" V1 V2
1 t1 5.0
2 t1 4.0
3 t1 2.0
4 t1 5.0
5 t1 5.0
6 t2 4.0
7 t2 3.0
8 t2 4.0
9 t2 9.0
10 t2 3.0
11 t3 2.0
12 t3 3.0
13 t3 2.0
14 t3 6.0
15 t3 8.0"), header = TRUE)然后,我们可以将我假设的线性模型与响应V2和解释变量V1进行拟合。
fit <- lm(V2 ~ V1, data = a)然后可以调用multcomp包:
library("multcomp")
summary(glht(fit, linfct = mcp(V1 = "Tukey")))
## Simultaneous Tests for General Linear Hypotheses
##
## Multiple Comparisons of Means: Tukey Contrasts
##
## Fit: lm(formula = V2 ~ V1, data = a)
##
## Linear Hypotheses:
## Estimate Std. Error t value Pr(>|t|)
## t2 - t1 == 0 4.000e-01 1.424e+00 0.281 0.958
## t3 - t1 == 0 5.617e-16 1.424e+00 0.000 1.000
## t3 - t2 == 0 -4.000e-01 1.424e+00 -0.281 0.958
## (Adjusted p values reported -- single-step method)发布于 2021-03-02 22:29:15
我也有同样的问题,问题似乎在于模型的声明方式。如果您使用:
fit <- lm($V2~ a$V1)
但如果你将模型声明为:
fit <- lm(V2 ~ V1,data = a)
https://stackoverflow.com/questions/31203201
复制相似问题