我正在使用世界价值调查(World Values Survey)数据来调查对移民的偏见(衡量是否有人说他们不想让移民作为邻居-二进制0/1)与城镇规模(分类)之间的关系,以控制一系列其他因素。
我已经进行了多级逻辑回归分析,并按国家进行了随机拦截。
twolevellogit <- glmer(V39 ~ as.factor(town_size) +as.factor(education) + as.factor(lower_class) + immigrant_parent + age + female + (1 | V2), family = binomial("logit"), data = WVS6a)
我想用图表来显示我的结果,方法是显示来自每个城镇规模的某人响应他们反对住在移民旁边(V39)的可能性的预测值。
predprob <- fitted(twolevellogit)
predlogit <- logit(predprob, inverse = TRUE)
datapred <- unique(data.frame(cbind(predlogit = predlogit, V2 = WVS6a$V2, town_size = WVS6a$town_size)))
xyplot(predlogit ~ town_size, data = datapred, groups = V2, type = c("l"), xlim= c(1, 8), ylim= c(0.45, 0.7))
但是,我的图看起来像这样。非常混乱和混乱-据我所知,它看起来应该更像42条平行线。我认为处理丢失的数据(数据中有许多NA)可能是一个问题,但是我似乎无法使用任何na.action命令来解决它。
https://drive.google.com/file/d/1tXsQ2J-jQwqlr4BFMYaIRZ3lermRNmvc/view?usp=sharing
我想知道是否有人建议这样做会很棒,另外非常欢迎有关如何使用ggplot2制作此图的建议。