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