Я оцениваю мультиномиальную логит-модель и хотел бы сообщить о предельном эффекте. Я столкнулся с трудностью, так как при использовании более крупной версии модели я получаю сообщение об ошибке.
Вот воспроизводимый пример. Следующий код с двумя ковариатами работает нормально.
library(mlogit)
df = data.frame(c(0,1,1,2,0,1,0), c(1,6,7,4,2,2,1), c(683,276,756,487,776,100,982))
colnames(df) <- c('y', 'col1', 'col3')
df$col2<-df$col1^2
mydata = df
mldata <- mlogit.data(mydata, choice="y", shape="wide")
mlogit.model1 <- mlogit(y ~ 1| col1+col2, data=mldata)
m <- mlogit(y ~ 1| col1+col2, data = mldata)
z <- with(mldata, data.frame(col1 = tapply(col1, index(m)$alt, mean),
col2 = tapply(col2, index(m)$alt, mean) ) )
effects(mlogit.model1, covariate = "col1", data = z)
Теперь, когда у меня есть три ковариаты:
mlogit.model1 <- mlogit(y ~ 1| col1+col2+col3, data=mldata)
m <- mlogit(y ~ 1| col1+col2+col3, data = mldata)
z <- with(mldata, data.frame(col1 = tapply(col1, index(m)$alt, mean),
col2 = tapply(col2, index(m)$alt, mean),
col3 = tapply(col3, index(m)$alt, mean) ) )
effects(mlogit.model1, covariate = "col1", data = z)
Последняя строка выдает следующую ошибку:
Ошибка в if (rhs %in% c(1, 3)) { : аргумент имеет нулевую длину
Но если я побегу
effects(mlogit.model1, covariate = "col3", data = z)
тогда он работает нормально для получения предельных эффектов col3
. Почему бы ему не дать предельных эффектов col1
?
Обратите внимание, что все столбцы не содержат NULL
и имеют одинаковую длину. Может кто-нибудь объяснить, в чем причина такого поведения?
rhs
— пустой вектор. Вам, вероятно, придется сделать это воспроизводимым, чтобы получить полный ответ. Один маленький шаг к воспроизводимости — это отметить, какая строка вызывает ошибку. - person lmo   schedule 11.04.2017effects
(если она не скомпилирована), чтобы увидеть, на что ссылается rhs. Тогда вы сможете вернуться к тому, почему он пуст. - person lmo   schedule 11.04.2017effects
за вас, но если вы не приведете воспроизводимый пример, им придется придумать свой собственный воспроизводимый пример, который будет намного сложнее и, возможно, не стоит) - person Ben Bolker   schedule 11.04.2017