Переменные указаны в linfct, но не найдены в model!

Я хочу запустить анализ множественных сравнений для разных переменных модели. Моя идея заключается в следующем:

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’!”

Я не знаю, как с этим бороться.


person Joye    schedule 03.07.2015    source источник
comment
Во-первых, замените V1 на trt, возможно.   -  person    schedule 03.07.2015
comment
Вы действительно хотите glht(fit, linfct = mcp(trt = "Tukey"))?   -  person Roland    schedule 03.07.2015
comment
спасибо за ваши предложения! Паскаль и Роланд {В а, возможно, замените V1 на trt - Вы действительно хотите glht (fit, linfct = mcp (trt = Tukey))?} trt - это имя столбца в данных о холестерине, которые существовали в пакеты мультикомп. Так что менять V1 на trt бесполезно.   -  person Joye    schedule 03.07.2015


Ответы (2)


Похоже, вы каким-то образом изменили имя данных и/или переменных между вычислением вашего 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)
person Achim Zeileis    schedule 03.07.2015

У меня была такая же проблема, и проблема, похоже, заключается в том, как объявляется модель. Это не сработает, если вы используете:

подходит ‹- lm(a$V2 ~ a$V1)

Но это так, если вы объявите модель как:

подходит ‹- лм (V2 ~ V1, данные = а)

person Miguel Jiménez-Bravo    schedule 02.03.2021