[英]multiple graphs in one plot ggplot
我的資料
ID | 時間 | 分數 | 變量 1 | 變量 2 | 變量 3 |
---|---|---|---|---|---|
1個 | 1個 | 100 | 1個 | 2個 | 1個 |
1個 | 2個 | 150 | 1個 | 2個 | 1個 |
2個 | 1個 | 200 | 2個 | 3個 | 4個 |
2個 | 2個 | -10 | 2個 | 3個 | 4個 |
2個 | 3個 | -70 | 2個 | 3個 | 4個 |
3個 | 1個 | 100 | 1個 | 2個 | 2個 |
3個 | 2個 | 200 | 1個 | 2個 | 2個 |
我想制作一個將所有變量組合在一起的 ggplot。 Y變量是=分數。 X變量是=時間。 對於每個分類變量(即 var1、var2),我想查看每個級別的效果。
我的一個圖表代碼:
var1_graph=ggplot (DB, aes(Time, Score, group_by = ID))+
facet_wrap(~var1)+
geom_smooth()+
theme_bw()
#####Var2
var2_graph = ggplot (DB, aes(Time,Score, group_by=ID))+
facet_wrap(~var2)+
geom_smooth()+
theme_bw()
################
ggarrange(var1_graph, var2_graph, labels = c("A","B"),
ncol = 1, nrow = 2).
但這不是我想要的,因為我希望它們在同一個 plot 中,而不是組合多個地塊。
可以使用“Pivot_longer 函數”來做到這一點嗎?
謝謝!
你在找這樣的東西嗎?
pivot_longer
用於在一列中收集變量以啟用分面。
library(tidyverse)
tribble(
~ID, ~Time, ~Score, ~Var1, ~Var2, ~Var3,
1, 1, 100, 1, 2, 1,
1, 2, 150, 1, 2, 1,
2, 1, 200, 2, 3, 4,
2, 2, -10, 2, 3, 4,
2, 3, -70, 2, 3, 4,
3, 1, 100, 1, 2, 2,
3, 2, 200, 1, 2, 2
) |>
pivot_longer(starts_with("Var"), names_to = "var", values_to = "level") |>
ggplot(aes(Time, Score, group = level)) +
geom_line() +
facet_grid(level ~ var)
由reprex package (v2.0.1) 創建於 2022-06-07
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.