lsmeans: ошибка в eval(predvars, data, env): объект 'location' не найден

Поэтому я запустил Двустороннюю Порядковую Регрессию с CLM с конкретными столбцами: гра, местоположение, виды, и это сработало:

gra.f <- clm(gra ~ location + species + location:species, data = gra)

Теперь я пытаюсь запустить попарно, используя функцию lsmeans:

pwise <- lsmeans(gra.f, 
                   pairwise ~ location + species, 
                   adjust="tukey")

И я получаю: Ошибка в eval(predvars, data, env): объект 'location' не найден

Я не уверен, что знаю, в чем проблема

PS: если я удаляю местоположение и пытаюсь просто сделать вид, ошибка все еще читается как 'местоположение' не найдено

1 ответ

lsmeans должен восстановить набор данных (включая все значения предикторов), чтобы определить опорную сетку. Сообщение об ошибке, о котором вы сообщаете, связано с невозможностью сделать это. Единственное, что я могу догадаться, - это то, что фрейм данных, используемый для подгонки модели, больше не находится в рабочей области или в пути поиска.

Если вы восстановите набор данных или сделаете его видимым, lsmeans должен работать снова. Или добавьте , data = gra к lsmeans() вызов.

Обновление 1

Оказывается, в коде возникает проблема, связанная с тем фактом, что эта модель является ранг-дефицитной. Как ни странно, я думаю, что это относится к этой записи в NEWS файл для порядкового пакета: 2014-11-12: - Reimplementation of formula, model.frame and design matrix processing motivated by a bug in model.matrix.clm and predict.clm reported by Russell Lenth 2014-11-07 when implementing lsmeans support for clm::ordinal.

Я вставил некоторый код, чтобы обойти это, и, по-видимому,

  1. мой обходной путь работал только до вышеупомянутого обновления
  2. за последние 4 года не многие пользователи сталкиваются с порядковыми моделями с недостатком ранга; или, по крайней мере, я не слышал от них, если они сделали.

Сейчас я пытаюсь вспомнить, какие строки кода - мой обходной путь, а какие еще нужны... Когда я решу это, я отправлю его в репозиторий github для emmeans, и через месяц или около того emmeans будет обновлен на CRAN (это будет версия больше, чем 1.3.1). Обновление emmeans также заставит lsmeans работать, так как теперь это просто интерфейс для emmeans.

Обновление 2

Кажется, сейчас исправлено:

> lsmeans(gra.f, 
+         pairwise ~ location + species, 
+         adjust="tukey")

$`lsmeans`
 location species  lsmean    SE  df asymp.LCL asymp.UCL
 B10      HD       nonEst    NA  NA        NA        NA
 B30      HD       nonEst    NA  NA        NA        NA
 B50      HD       nonEst    NA  NA        NA        NA
 B70      HD      -0.2802 0.191 Inf  -0.65519    0.0949
 Black Pt HD      -0.1298 0.325 Inf  -0.76730    0.5077
 Bolongo  HD       nonEst    NA  NA        NA        NA
      ... Several rows of output omitted ...
 SMA      TT       nonEst    NA  NA        NA        NA

Confidence level used: 0.95 

$contrasts
 contrast                  estimate    SE  df z.ratio p.value
      ... MANY rows of output omitted ...
 B70,HD - Magens,HD          nonEst    NA  NA      NA      NA
 B70,HD - SMA,HD             nonEst    NA  NA      NA      NA
 B70,HD - B10,HS           -0.71283 0.225 Inf  -3.162  0.4869
 B70,HD - B30,HS            0.07174 0.227 Inf   0.316  1.0000
 B70,HD - B50,HS           -0.74197 0.228 Inf  -3.253  0.4093
 B70,HD - B70,HS           -0.72863 0.226 Inf  -3.229  0.4291
 B70,HD - Black Pt,HS      -0.10537 0.220 Inf  -0.478  1.0000
 B70,HD - Bolongo,HS         nonEst    NA  NA      NA      NA
 B70,HD - Fortuna,HS       -0.64301 0.240 Inf  -2.684  0.8656
 B70,HD - Lindberg,HS      -0.10132 0.220 Inf  -0.460  1.0000
 B70,HD - Magens,HS         0.02351 0.226 Inf   0.104  1.0000
 B70,HD - SMA,HS           -0.05100 0.219 Inf  -0.232  1.0000
 B70,HD - B10,HW             nonEst    NA  NA      NA      NA
 B70,HD - B30,HW             nonEst    NA  NA      NA      NA
 B70,HD - B50,HW             nonEst    NA  NA      NA      NA
 B70,HD - B70,HW             nonEst    NA  NA      NA      NA
 B70,HD - Black Pt,HW        nonEst    NA  NA      NA      NA
 B70,HD - Bolongo,HW         nonEst    NA  NA      NA      NA
 [ reached getOption("max.print") -- omitted 1059 rows ]

P value adjustment: tukey method for comparing a family of 50 estimates

Однако твои проблемы только начинаются. У вас есть большое количество не оцениваемых комбинаций из-за отсутствия данных. Удачи...

Я отправлю обновленную версию на https://github.com/rvlenth/emmeans.

Другие вопросы по тегам