Имитация категориальной переменной с известными значениями для каждого уровня - PullRequest
0 голосов
/ 07 февраля 2020

Я хотел бы смоделировать категориальную переменную с n = 5 уровнями для набора данных панели. Я буду ассоциировать переменную с непрерывным результатом в контексте линейной модели смешанных эффектов (пакет nlme). Если бы я знал коэффициенты для каждого уровня относительно контрольного уровня, как бы я смоделировал эту переменную и добавил ее к непрерывному результату y?

например, уровень 1 - ссылка

уровень 2 - 0,75 (когда категориальная переменная = уровень 2, коэффициент равен 0,75)

уровень 3 - 0,19 (когда категориальная переменная = уровень 2, коэффициент равен 0,19)

Уровень 4 - 0,59 (Когда категориальная переменная = уровень 2, коэффициент равен 0,59)

Уровень 5 - 0,89 (Когда категориальная переменная = уровень 2, коэффициент 0,89)

y <- Beta0 + Beta1Intervention + Beta2Categoricalvariable + Beta3Categoricalvariable + Beta4Categorical + Beta5Categorical + random_effectcluster + random_effectindividual </p>

В данном случае будет определена категория / значение переменной / значения априори (как указано выше) для каждого человека в наборе данных. Я надеюсь, что это имеет смысл.

Я пытался сделать следующее:

y <- defDataAdd(varname = "Y", formula = "17.87 + 5.0*Ijt + timecoeff1*I(period == 1) + timecoeff2*I(period == 2) + timecoeff3*I(period == 3) + timecoeff4*I(period == 4) + timecoeff5*I(period == 5) + u_3 + u_2 + error", dist = "normal")

Но ... R выдает мне следующее сообщение об ошибке ....

Ошибка: Переменная (и), на которую ссылаются, ранее не определялась: timecoeff1, timecoeff2, timecoeff3, timecoeff4, timecoeff5

Если вместо этого я заменю timecoeff * на фактическое целое число, оно работает нормально ....

Кто-нибудь знает почему?

...