我正在嘗試為三個組制作一個前后變化圖。在我的資料框中,前資料和后資料存盤為兩個不同的變數,就像這樣。
pre_treat <- c(5,8,4,6,5,9,6,7,5)
post_treat <- c(2,2,4,10,9,11,4,5,3)
group <- c("A","A","A","B","B","B","C","C","C")
df <- data.frame(pre_treat = pre_treat,
post_treat = post_treat,
group = group)
> df
pre_treat post_treat group
1 5 2 A
2 8 2 A
3 4 4 A
4 6 10 B
5 5 9 B
6 9 11 B
7 6 4 C
8 7 5 C
9 5 3 C
我想繪制每個組的平均值,pre_treat如下圖所示。post_treat我還想用組面來繪制它們。

uj5u.com熱心網友回復:
我們可以這樣做。首先帶入長格式資料。然后計算每組的平均值。用fct_relevelfrom forcatspackage 重新調平,然后用facet_wrap.
library(tidyverse)
df %>%
pivot_longer(-group) %>%
group_by(group, name) %>%
summarise(mean = mean(value)) %>%
mutate(name = fct_relevel(name, c("pre_treat", "post_treat"))) %>%
ggplot(aes(x=name, y=mean, group=1))
geom_line()
facet_wrap(.~group)

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