好的,所以查看文档,您似乎可以使用priors 参数来指定您希望哪个立法者成为您的负面锚以及哪个立法者作为正面锚。见https://cran.r-project.org/web/packages/pscl/pscl.pdf
例如,假设您知道立法者 1 是最保守的,立法者 50 是最不保守的,您可以制作一个方法矩阵作为先验。根据文档,您未指定的任何内容都将使用默认先验。
# 50 legislators
my_mean <- rep(0, 50)
my_mean[1] <- -3
my_mean[50] <- 3
现在当您进入ideal 函数时,您可以在priors 参数中指定xp,如下所示:
ideal(object, codes = object$codes,
dropList = list(codes = "notInLegis", lop = 0),
d = 1, maxiter = 10000, thin = 100, burnin = 5000,
impute = FALSE,
normalize = FALSE,
meanzero = normalize,
priors = list(xp = my_mean), # Here, all defaults used for other args
startvals = "eigen",
store.item = FALSE, file = NULL,
verbose=FALSE, use.voter=NULL)
如果没有一些数据,我无法对其进行测试,但这应该可以。此外,您可以使用 ifelse 语句并将先验分配给一方,而不仅仅是固定两个人:
my_mean <- ifelse(party == "Conservative", -3, 3)
或者类似的东西。我有上述here 的示例,但它使用rstan。