2017-12-02 157 views
2

我有两个连续变量之间交互的lmer模型。效果包确实显示这种互动是抓好一个明确vairable的效果一起:在ggplot中绘制具有交互作用的混合效果模型

Effects package plot

但我想要绘制与随机效应ggplot并根据栖息地类型分组这种相互作用。我已经作出了尝试,但留下了一个非常混乱的图表是:

dataframe1$fit<-predict(SR14.1) 
p<-ggplot(dataframe1,aes(interaction(standmoisture, standTemp), `Species Richness`, group = fhabitat, col=Area, shape=fhabitat)) + 
    geom_line(aes(y=fit2), size=0.8) + 
    geom_point() + 
    theme_classic() 
p+theme(legend.position = "bottom") +ylab(
    expression(bold("Species Richness"))) 

My attempt of plotting this with ggplot

任何帮助,将不胜感激。这里是我的数据:

structure(list(`Species Richness` = c(1, 2, 2, 2, 5, 4, 3, 7, 
4, 4, 5, 5, 3, 3, 3, 2, 6, 5, 8, 6, 7, 5, 5, 6, 7, 7, 7, 6, 5, 
7, 8, 4), standTemp = structure(c(0.720812577321754, 1.41490248010771, 
0.0146933080454731, 2.0380887793892, 1.28080253427975, -0.339111964680604, 
-0.186933532099618, -1.04644870942643, 1.00134901679053, 0.629436912210655, 
1.30527718827517, 1.23329420029196, -0.70224836547858, -0.298343821795056, 
0.644926209311894, 0.361500234717626, -1.70378944519547, -0.238189024325525, 
0.394362033579524, 0.42276111901573, 0.585447308443146, 0.637435021986569, 
-0.00641281497429604, 0.513464320459941, -1.03017086629094, -0.334335315786658, 
-1.88419125458547, -0.401319485159916, -1.59260510821939, -1.06216330539459, 
-1.27891208032179, -1.09337815049224), .Dim = c(32L, 1L), "`scaled:center`" = 28.7021556522675, "`scaled:scale`" = 0.893068155224622), 
    standmoisture = structure(c(0.249478032878488, -1.17491997943563, 
    0.0549893575950258, -1.58242006098193, -1.46943140200773, 
    2.16472841614611, 1.64979649491942, 1.65535331421323, -1.00821540062123, 
    0.405068973105258, -0.228408426389447, -0.280272073131704, 
    0.923705440527824, 1.0403986456979, 1.36639871093494, 1.32564870278031, 
    -0.182101598941004, -0.252487976662638, -0.815578998435709, 
    -0.72481761663676, -1.7528291859922, -0.582192588095555, 
    -0.272862980739953, -0.0728174861626776, 0.0753643616723412, 
    -0.0468856627915491, -0.41363573618322, -0.546999399234737, 
    -0.196919783724506, 0.890364524764945, 0.840353151120626, 
    -1.03785177018824), .Dim = c(32L, 1L), "`scaled:center`" = 0.16413125, "`scaled:scale`" = 0.0539877192576716), 
    fhabitat = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
    2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), .Label = c("Flatwood", "Sandhill" 
    ), class = "factor"), fblock = structure(c(1L, 1L, 1L, 1L, 
    1L, 2L, 2L, 2L, 3L, 4L, 4L, 4L, 5L, 5L, 6L, 6L, 7L, 7L, 7L, 
    7L, 8L, 8L, 8L, 8L, 8L, 9L, 9L, 9L, 10L, 10L, 10L, 11L), .Label = c("1", 
    "2", "3", "4", "5", "6", "7", "8", "9", "10", "11"), class = "factor")), .Names = c("Species Richness", 
"standTemp", "standmoisture", "fhabitat", "fblock"), row.names = c(NA, 
-32L), class = c("tbl_df", "tbl", "data.frame")) 

,这里是我使用的模型:

SR14.1<-lmer(`Species Richness`~fhabitat + standmoisture * standTemp +(1|fblock), data = dataframe1) 

编辑**更好地阐明我的意思。我已显示之间的相互作用的另一种混合效应模型的图像一个分类变量和一个连续变量。在这个情节我已经绘制的随机效应(1个| fblock)与多元回归线,我想能够连续两个变量

enter image description here

+0

除非增加尺寸,否则需要进行模型预测,其中一个连续变量固定在不同的值(通常至少是“低”,“中”和“高”值)。这就是“效果”情节所显示的。我会通过为预测创建一个新的数据集来处理这个问题,使用'standTemp'和因子的实际数据,但是在选定的固定值处使用'standmoisture'。然后,您会将“固定值”变量作为绘图的一个因素。 – aosmith

回答

0

我不完全之间与交互做到这一点清楚你在找什么?这是否接近?

df %>% 
mutate(fct = cut(standTemp, breaks = 5)) %>% 
ggplot(aes(x = standmoisture, y = `Species Richness`, col = fhabitat)) + 
geom_point() + 
facet_wrap(~fct) + 
geom_smooth(method = "lm") 
+0

感谢您的答案@biomiha,这不是我想要的,但很接近。因此,来自包效应的“效应”()的阴影清楚地表明了相互作用,但它只显示了模型的边际效应。我希望能够显示块的随机效果(+1 | fblock)。我将编辑我的帖子以显示我需要使用另一个图形的随机效应 –