在R中使用嵌套的mlogit函数 - 有内存问题?

时间:2013-01-18 18:25:03

标签: r

我正在尝试使用mlogit函数在R中建模决策树。该模型的目的是描述海峡群岛的船民选择。我们想要建立模型的方式是两个决策层。首先,个人选择一项活动(如潜水,浮潜或皮划艇)。其次,根据该活动,他们根据该网站的有利于该活动的属性(海带覆盖,无脊椎动物,鱼类等)选择岛屿上的一个站点进行访问。我们相信这是一个嵌套结构,首先选择活动,然后选择网站。该模型有4个不同的活动,31个不同的站点可供选择,总共124个独特的“活动选择”选项。我们拥有来自111个人的数据,每个人都根据各个站点的属性做出了特定的决定。

对于R代码,我们首先描述我们的巢。接下来我们使用mlogit.data函数读入并准备数据,最后使用mlogit函数来运行模型。但是,在运行代码之后,我们得到以下内容

error: "Error in model.matrix.default(formula, data: allocMatrix: too many elements specified".  

这是RAM问题吗?有没有更有效的方法来设置问题?或者我们是否完全错了?

这是我们的代码。

library(mlogit)
data.raw = read.csv("final_R_rum.csv",header=T)
underwater = c(1.1,2.1,3.1,4.1,5.1,6.1,7.1,8.1,9.1,10.1,11.1,12.1,13.1,14.1,15.1,16.1,17.1,18.1,19.1,20.1,21.1,22.1,23.1,24.1,25.1,26.1,27.1,28.1,29.1,30.1,31.1)
surface = c(1.2,2.2,3.2,4.2,5.2,6.2,7.2,8.2,9.2,10.2,11.2,12.2,13.2,14.2,15.2,16.2,17.2,18.2,19.2,20.2,21.2,22.2,23.2,24.2,25.2,26.2,27.2,28.2,29.2,30.2,31.2)
consumptive = c(1.3,2.3,3.3,4.3,5.3,6.3,7.3,8.3,9.3,10.3,11.3,12.3,13.3,14.3,15.3,16.3,17.3,18.3,19.3,20.3,21.3,22.3,23.3,24.3,25.3,26.3,27.3,28.3,29.3,30.3,31.3)
land = c(1.4,2.4,3.4,4.4,5.4,6.4,7.4,8.4,9.4,10.4,11.4,12.4,13.4,14.4,15.4,16.4,17.4,18.4,19.4,20.4,21.4,22.4,23.4,24.4,25.4,26.4,27.4,28.4,29.4,30.4,31.4)

data.logit = mlogit.data(data.raw,shape="long",choice="choice",alt.var="site_activity")
results=mlogit(formula=choice~fish_abun|total_TC_water_land,nests = list(underwater, surface, consumptive, land), data=data.logit)
summary(results)

0 个答案:

没有答案