Как получить последовательно подписывать направление, используя rollcall и идеал из пакета pscl? - PullRequest
0 голосов
/ 13 мая 2019

Я использую функции ideal и rollcall из пакета pscl, но те же избиратели получают альтернативные значения отрицательных или положительных знаков в зависимости (в списке) от упорядочения набора данных. Поскольку я рассчитываю это на несколько периодов, мне нужно, чтобы его поведение было последовательным для каждого года. Есть ли способ контролировать этот аспект?

1 Ответ

1 голос
/ 14 мая 2019

Окей, поэтому, глядя на документацию, вы можете использовать аргумент 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.

...