我正在使用函数ideal
和rollcall
from pscl
package 但相同的选民根据数据集的顺序(在列表中)接收交替的负号值或正号值。当我计算几个时期时,我需要它的行为每年都保持一致。有没有办法控制这方面?
问问题
44 次
1 回答
1
好的,所以查看文档,您似乎可以使用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
函数时,您可以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)
或者类似的东西。我在这里有一个上面的例子,但它使用rstan
.
于 2019-05-14T11:42:07.327 回答