Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从pscl软件包中使用rollcall和ideal获得一致的签名方向?_R_Pscl - Fatal编程技术网

如何从pscl软件包中使用rollcall和ideal获得一致的签名方向?

如何从pscl软件包中使用rollcall和ideal获得一致的签名方向?,r,pscl,R,Pscl,我使用的函数是来自pscl包的理想函数和rollcall,但同样的投票者根据数据集的顺序在列表中交替接收负号值或正号值。由于我计算了几个时期,我需要它的行为在每年都保持一致。 有什么方法可以控制这一方面吗?好的,那么看看文档,你可以使用priors参数来指定哪个立法者是你的消极锚,哪个立法者是积极锚。看 比如说,你知道1号立法者是最保守的,50号立法者是最不保守的,你可以做一个矩阵来作为优先权使用。根据文档,您未指定的任何内容都将使用默认优先级 # 50 legislators my_mean

我使用的函数是来自pscl包的理想函数和rollcall,但同样的投票者根据数据集的顺序在列表中交替接收负号值或正号值。由于我计算了几个时期,我需要它的行为在每年都保持一致。
有什么方法可以控制这一方面吗?

好的,那么看看文档,你可以使用priors参数来指定哪个立法者是你的消极锚,哪个立法者是积极锚。看

比如说,你知道1号立法者是最保守的,50号立法者是最不保守的,你可以做一个矩阵来作为优先权使用。根据文档,您未指定的任何内容都将使用默认优先级

# 50 legislators
my_mean <- rep(0, 50)

my_mean[1] <- -3
my_mean[50] <- 3
没有一些数据,我无法测试它,但这应该是可行的。此外,不只是固定两个人,您可以使用ifelse语句并为一方指定优先级:

my_mean <- ifelse(party == "Conservative", -3, 3)

或者类似的事情。我有一个上面的例子,但它使用rstan。

问题是,一般来说,这种模型存在可识别性问题,因此采用相同的解决方案。看起来使用“constraint.legis”arg可以将最保守的人设置为-3,将最不保守的人设置为+3,这应该可以解决您的符号问题。在我第一次尝试时,它没有起作用。在rollcall过程中,我使用了一个名为legis.names参数值的字符向量,在这个测试中,使用了一个数字向量,与前面一样,除了范围位置等于legis.names的元素外,所有的值都是零,对应于我认为最极端的立法者。我已经将它们的值从-3切换到+3,但是结果非常相似,没有符号变化。
my_mean <- ifelse(party == "Conservative", -3, 3)