gpt4 book ai didi

r - 与由颜色和线型定义的 ggplot2 线和点的 4 向交互

转载 作者:行者123 更新时间:2023-12-05 05:15:21 27 4
gpt4 key购买 nike

我正在尝试使用 ggplot2geom_line()geom_point() 绘制析因实验的 4 向交互。

我正在处理的数据是 emmeans() 对象,它具有从线性混合效应模型估计的边际均值。

我可以通过 emmip() 得到的图表是这样的:

enter image description here

我想要的是分离 b:c 交互,这样一个因素由颜色和/或点类型定义,另一个由线型定义(虚线与实线)

一个最小的例子是这样的:

df<- data.frame(y=rnorm(n=16),
a=gl(2,4,16, labels=c("a1","a2")),
b=gl(2,2,16, labels=c("b1", "b2")),
c=gl(2,1,16, labels=c("c1", "c2")),
fac=gl(2,8,16, labels=c("panel1", "panel2")))

我尝试了以下 ggplot() 代码:

ggplot(df, aes(y=y, x=a, color=b)) + 
geom_point(aes(shape=b), size=3) +
geom_line(aes(linetype=c)) +
facet_wrap(~fac)

但是我收到一个警告,我不知道如何处理:

geom_path: Each group consists of only one observation. Do you need to adjust the group aesthetic?
geom_path: Each group consists of only one observation. Do you need to adjust the group aesthetic?

图表看起来几乎如预期,但没有c 因子在相应的b 点之间绘制水平线:

enter image description here

我该如何解决这个问题?

我发现了一个直接处理来自 lmer() 对象的预测值的类似问题:How to plot mixed-effects model estimates in ggplot2 in R? 但仍然找不到处理我的数据格式的方法。

最佳答案

正在关注 Z.Lin comment above我找到了我要找的东西:

ggplot(df, aes(y=y, x=a)) + 
geom_point(aes(color=b),size=3) +
geom_line(aes(group = b:c, color=b, linetype=c), size=1) +
facet_wrap(~fac)

enter image description here

关于r - 与由颜色和线型定义的 ggplot2 线和点的 4 向交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51608155/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com