gpt4 book ai didi

r - 添加 geom_line 以使用 ggplot2 链接箱线图中的所有 geom_point

转载 作者:行者123 更新时间:2023-12-04 01:58:34 24 4
gpt4 key购买 nike

我有一个如下所示的患者数据。每个受试者在 4 个不同的时间点进行测量。

df <- data.frame(
result = rnorm(48, 1,3),
time = rep(c('t1', 't2', 't3', 't4'), 12 ),
subject = rep(c(1:12), each=4),
gender = rep (c('M', 'F'), 6, each=4) )

我制作了一个包含重叠数据点的箱线图:

pd = position_jitterdodge(dodge.width = 0.75, jitter.width = 0.3)
df %>%
ggplot (aes(x= time, y=result, fill=gender))+
geom_boxplot(alpha=0.2)+
geom_point(aes(color = gender),position = pd)+
scale_fill_brewer(palette = 'Set1')+
scale_color_brewer(palette = 'Set1')

enter image description here

现在我需要添加线条以链接时间进程中的所有患者(数据点)。

df %>% 
ggplot (aes(x= time, y=result, fill=gender))+
geom_boxplot(alpha=0.2)+
geom_point(aes(color = gender, group=subject),position = pd)+
geom_line(aes(color=gender, group=subject),
position=pd, alpha=0.3)+
scale_fill_brewer(palette = 'Set1')+
scale_color_brewer(palette = 'Set1')

enter image description here

所有的线似乎都“与数据点断开连接”。我该如何解决这个问题?我花了几个小时但找不到解决方案。任何人都可以帮助我吗?非常感谢。

最佳答案

几天前 position_jitterdodge gained a seed argument在开发版中。所以,

devtools::install_github("tidyverse/ggplot2")
library(ggplot2)

然后

pd = ggplot2::position_jitterdodge(dodge.width = 0.75, jitter.width = 0.3, seed = 1)
df %>%
ggplot (aes(x= time, y=result, fill=gender))+
geom_boxplot(alpha=0.2)+
geom_point(aes(color = gender, group=subject),position = pd)+
geom_line(aes(color=gender, group=subject),
position=pd, alpha=0.3)+
scale_fill_brewer(palette = 'Set1')+
scale_color_brewer(palette = 'Set1')

给出这个情节

enter image description here

关于r - 添加 geom_line 以使用 ggplot2 链接箱线图中的所有 geom_point,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48954358/

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