r - 如何使用 pscl 包中的 rollcall 和 Ideal 获得一致的符号方向?
问题描述
我正在使用函数ideal
和rollcall
from pscl
package 但相同的选民根据数据集的顺序(在列表中)接收交替的负号值或正号值。当我计算几个时期时,我需要它的行为每年都保持一致。有没有办法控制这方面?
解决方案
好的,所以查看文档,您似乎可以使用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
.
推荐阅读
- javascript - 在 JavaScript 中使用 Laravel 路由?
- python - 有没有办法通过shell脚本对一行的一部分进行排序
- python - 如何在用python重写行之前删除以前版本的行
- postsharp - 如何向方面/编译器生成的属性添加属性?
- asp.net-core - System.Reflection.TargetException(对象与目标类型不匹配)
- python - 解析日志文件并找到合适的分隔符
- image - 如何通过 Markdown 上的缩略图添加可点击、可展开的图片?
- python - 如何转换 pyspark 数据框列的值?
- pine-script - 我在哪里可以找到不同版本的 pine 脚本的文档,以及如何为 v3 实现标签
- c# - Viewengine 在控制器视图方法上使用静态类