Кодирование случайного эффекта в mclogit - PullRequest
0 голосов
/ 26 декабря 2018

Я пытаюсь проанализировать эксперимент с дискретным выбором, используя условную логистическую модель со случайным эффектом для каждого субъекта, используя функцию mclogit из пакета R mclogit.Каждый субъект (ID) оценил 4 набора выбора, состоящих из 4 альтернатив.

Я получаю ошибку

Ошибка в атрибутах (.Data) <- c (attribute (.Data),attrib): невозможно установить атрибут для символа </p>

, когда я кодирую его как

out2 <- mclogit (fm2, random = ~ 1 | ID, data = ds.свинина) </p>

Я надеялся получить помощь в правильном кодировании.

library(support.CEs)
library(survival)
library(mclogit)

d.pork <- Lma.design(
  attribute.names = list(
    Price = c("100", "130", "160", "190")),
  nalternatives = 3,
  nblocks = 4,
  row.renames = FALSE,
  seed = 987)

data(pork)

dm.pork <- make.design.matrix(
  choice.experiment.design = d.pork,
  optout = TRUE,
  continuous.attributes = c("Price"),
  unlabeled = FALSE)

ds.pork <- make.dataset(
  respondent.dataset = pork,
  choice.indicators =
    c("q1", "q2", "q3", "q4"),
  design.matrix = dm.pork)

ds.pork$ID<-factor(ds.pork$ID)

fm1 <- RES ~ ASC1 + Price1 + ASC2 + Price2 + ASC3 + Price3 + strata(STR)
fm2<-cbind(RES, STR) ~ ASC1 + Price1 + ASC2 + Price2 + ASC3 + Price3

out1 <- clogit(fm1, data = ds.pork)
out2 <- mclogit(fm2, random=~1|ID, data=ds.pork)

1 Ответ

0 голосов
/ 26 декабря 2018

Ошибка возникает из-за использования fm2 вместо непосредственного ввода формулы, как в

out2 <- mclogit(cbind(RES, STR) ~ ASC1 + Price1 + ASC2 + Price2 + ASC3 + Price3, random = ~1|ID, data = ds.pork)

Теперь есть другая ошибка, но теперь речь идет исключительно о спецификации модели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...