我希望你们中的一些人对ChoiceModelR
Sermas 和 Colias 的 R 包有一些经验,以估计分层贝叶斯多项式 Logit 模型。实际上,我在 R 和分层贝叶斯方面都是新手。但是,我尝试使用帮助文件中 Sermas 和 Colias 提供的脚本来进行一些估算。我有一个与他们使用的结构相同的数据集(ID、选择集、替代、自变量和选择变量)。我有四个自变量,它们都是二进制编码的分类变量,没有一个受到限制。我有八个选项集,每个选项集中三个选项以及一个无选项选项作为第四选项。我尝试了以下脚本:
library (ChoiceModelR)
data <- read.delim("Z:/KLU/CSR/CBC/mp3_vio.txt")
xcoding=c(0,0,0,0)
mcmc = list(R = 10, use = 10)
options = list(none=FALSE, save=TRUE, keep=1)
attlevels=c(2,2,2,2)
c1=matrix(c(0,0,0,0),2,2)
c2=matrix(c(0,0,0,0),2,2)
c3=matrix(c(0,0,0,0),2,2)
c4=matrix(c(0,0,0,0),2,2)
constraints = list(c1, c2, c3, c4)
out = choicemodelr(data, xcoding, mcmc = mcmc, options = options, constraints = constraints)
并收到以下错误消息:
Error in 1:nalts[i] : result would be too long a vector
另外:有 50 个或更多警告(用于warnings()
查看前 50 个)。提到的警告如下:
In max(temp[temp[, 2] == j, 3]) : no non-missing arguments to max; returning -Inf
In max(temp[temp[, 2] == j, 3]) : no non-missing arguments to max; returning -Inf
实际上,我不知道出了什么问题,因为我使用了相同的数据结构,即使我有更多的自变量、更多的选择集和选择集中的更多备选方案。如果有人能在黑暗中照亮我会很棒