我正在創建一些互動圖,并希望為我的互動項添加 95% 的置信區間。但是,使用包中的interact_plot()函式為置信區間interactions添加了一個geom_ribbon(),我覺得很難閱讀。我只想用虛線來表示置信區間的上限和下限。
在我看來,這涉及更新或更改為我的繪圖存盤的串列中的圖層,但我不太確定如何執行此操作。
下面是一個例子:
library(lme4)
library(tidyverse)
library(interactions)
data(VerbAgg)
mv <- glmer(r2 ~ Anger * mode (1 | item), data = VerbAgg,
family = binomial,
control = glmerControl("bobyqa"))
p = interact_plot(mv, pred = Anger, modx = mode, vary.lty = FALSE, interval = TRUE, types = c("solid", "solid"))
p

如上所述,我只想用虛線表示置信區間的下限和上限,而不是使用功能區。
查看 plot 物件的摘要:
summary(p)
data: r2, item, mode, Anger, ymax, ymin, modx_group [200x7]
mapping: x = ~Anger, y = ~r2, colour = ~mode, group = ~mode, linetype = NULL
scales: colour, fill
faceting: <ggproto object: Class FacetNull, Facet, gg>
compute_layout: function
draw_back: function
draw_front: function
draw_labels: function
draw_panels: function
finish_data: function
init_scales: function
map_data: function
params: list
setup_data: function
setup_params: function
shrink: TRUE
train_scales: function
vars: function
super: <ggproto object: Class FacetNull, Facet, gg>
-----------------------------------
geom_path: lineend = butt, linejoin = round, linemitre = 10, arrow = NULL, na.rm = FALSE, size = 1
stat_identity: na.rm = FALSE
position_identity
mapping: x = ~Anger, ymin = ~ymin, ymax = ~ymax, fill = ~mode, group = ~mode, colour = ~mode, linetype = NA
geom_ribbon: na.rm = FALSE, orientation = NA, outline.type = both, alpha = 0.2, flipped_aes = FALSE
stat_identity: na.rm = FALSE
position_identity
您會注意到映射層mapping: x = ~Anger, ymin = ~ymin, ymax = ~ymax, fill = ~mode, group = ~mode, colour = ~mode, linetype = NA具有linetype = NA. 我的想法是這需要更改才能實作我的目標,但我不知道如何更改圖層。
任何見解將不勝感激!似乎沒有interact_plot()一個引數可以讓我直接這樣做,所以我認為它需要一些爭論。
uj5u.com熱心網友回復:
實作您想要的結果的一種選擇是
- 使用兩個為置信區間添加線
geom_line geom_ribbon通過將填充顏色設定為透明來擺脫- 將顏色添加回我使用的默認顏色
interact_plot(注意:interact_plot填充和顏色使用一種比例。因此,當添加 scale_fill_manual 時,我們也會丟失顏色)。
library(lme4)
library(ggplot2)
library(interactions)
p
geom_line(aes(Anger, ymin), linetype = "dashed")
geom_line(aes(Anger, ymax), linetype = "dashed")
scale_fill_manual(values = c("transparent", "transparent"), aesthetics = "fill")
scale_color_manual(values = jtools::get_colors("CUD Bright", 2), aesthetics = "color")
#> Scale for 'colour' is already present. Adding another scale for 'colour',
#> which will replace the existing scale.

轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/358876.html
