簡體   English   中英

多個圖表合二為一 plot ggplot

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM