我有一篇论文,作者提出了一种具有无选择的嵌套多项Logit模型的D-优化设计。设计如下:
CS 1:
Alt A: 1 2 2 1 2 2
替补B: 2 2 1 2 1 2
替代C: 0 0 0 0 0 0
CS 2:
替补1: 2 1 1 2 2 2
替补2: 2 2 2 2 1 1
替代3: 0 0 0 0 0 0
CS 3:
替代1: 2 2 1 1 1 2
替补2: 1 1 2 2 2 1
替代3: 0 0 0 0 0 0
CS 4:
替补1: 2 2 1 1 2 1
替补2: 1 1 2 2 1 2
替代3: 0 0 0 0 0 0
CS 5:
替代项1: 1 2 1 2 2 1
替代2: 2 1 2 1 1 2
替代3: 0 0 0 0 0 0
CS 6:
替代1: 1 2 1 2 1 2
替补2: 2 1 2 1 2 1
替代3: 0 0 0 0 0 0
CS 7:
替补1: 2 1 1 2 2 1
替补2: 1 2 2 1 2 2
替代3: 0 0 0 0 0 0
CS 8:
替补1: 2 1 2 2 2 1
替补2: 1 2 2 1 1 2
替代3: 0 0 0 0 0 0
该设计是一个D优化设计,有8个选择集,每个选择集有2个选项(6个两级属性可供选择)。我尝试使用mlogit和那个设计来估计R中的嵌套多项Logit模型。因此,我使用随机响应制作了模拟数据如下:
个人 - Choiceid - 模式选择---- ---- AA - AB - 交流 - AD - AE - AF
------ 1 ------------- ---------- 1 A ------- ----- FALSE 1 ---- -2 ----- ----- 2 ----- 1 2 ----- 2
------ 1 ------------- ---------- 1 -------乙FALSE ----- 2 ---- -2 ----- ----- 1 2 ----- ----- 1 2
------ 1 ------------- ---------- 1 --------ÇTRUE ----- 0 --- --0 ----- ----- 0 ----- 0 ----- 0 0
------ 1 ------------- ---------- 2 A ------- ----- FALSE 2 ---- -1 ----- ----- 1 2 ----- ----- 2 2
------ 1 ------------- ---------- 2 --------乙TRUE ----- 2 --- --2 ----- ----- 2 2 ----- ----- 1 1
------ 1 ------------- ---------- 2 -------ÇFALSE ----- 0 ---- -0 ----- ----- 0 ----- 0 ----- 0 0
------ 1 ------------- ---------- 3 A ------- ----- FALSE 2 ---- -2 ----- ----- 1 1 1 ----- ----- 2
------ 1 ------------- ---------- 3 -------乙FALSE ----- 1 ---- -1 ----- ----- 2 2 ----- ----- 2 1
数据包含30个人的回复,这意味着,数据包含240个选项(8个人选择)。但是当我使用命令
时sim = read.csv("sim.csv",header=T)
dat <- mlogit.data(sim, choice = "choice", shape = "long",
alt.var = "mode", chid.var = "choideid",id.var="individual")
nl.dat <- mlogit(choice ~ AA+AB+AC+AD+AE, dat, reflevel="C",
nests = list(OUR = c("A","B") , SQ = c("C")),
unscaled = TRUE)
我收到以下错误
solve.default中的错误(crossprod(attr(x,&#34; gradi&#34;)[,!fixed])):
系统在计算上是单数的:倒数条件数= 1.13304e-18
有人知道我做错了什么吗?