Извлечение списка независимых переменных из объекта mlogit

Я использую следующий пакет:

library(mlogit)

Мои данные подготовлены следующим образом

data(CollegeDistance, package="AER")
testdata <- CollegeDistance
testdata$Dist[testdata$distance<0.4] <- 1
testdata$Dist[testdata$distance<1 & testdata$distance>=0.4] <- 2
testdata$Dist[testdata$distance<2.5 & testdata$distance>=1] <- 3
testdata$Dist[testdata$distance>=2.5] <- 4

А вот и моя модель

testmodel <- mlogit(as.formula(Dist ~ 1|urban + unemp + tuition|1), testdata, shape='wide', choice='Dist')

Теперь, когда я запускаю следующий код, результат странный

as.character(attr(testmodel$formula, 'rhs')[[2]])

> as.character(attr(testmodel$formula, 'rhs')[[2]])
[1] "+"             "urban + unemp" "tuition"    

Я ожидаю что-то вроде:

chr [1:3] "urban" "unemp" "tuition"     

person Milad    schedule 06.04.2015    source источник


Ответы (1)


Вместо этого вы можете использовать all.vars

all.vars(testmodel$formula) # return all the variables 
## "Dist"    "urban"   "unemp"   "tuition"
all.vars(testmodel$formula)[-1] # to remove the dependent variable
[1] "urban"   "unemp"   "tuition"

и с функцией, которую вы использовали

all.vars(attr(testmodel$formula, 'rhs')[[2]])
## [1] "urban"   "unemp"   "tuition"
person Mamoun Benghezal    schedule 06.04.2015