当数据采用整齐(长)格式时,使用 ggplot 制作许多散点图

问题描述 投票:0回答:1

我找不到这个问题的任何答案。

我有一个具有以下格式的数据集:

mtcars %>% 
  mutate(row_number=row_number()) %>% 
  select(row_number, mpg, disp, hp, wt) %>% 
  gather(mpg, disp, hp, wt, key="key", value= "value")

我想制作 6 个散点图,即所有组合,例如英里/加仑与显示; mpg 与 hp 等

enter image description here

r ggplot2 scatter-plot
1个回答
0
投票

是的,您可以轻松创建一个散点图矩阵,就像使用 [gg] 对一样,同时让您的数据采用长格式:只需使用

merge(by="<your id column>", all = TRUE)
将数据集与其自身连接到您的 ids 上:

library(ggplot2)
library(dplyr)
library(tidyr)

df <- mtcars |> 
  mutate(row_number=row_number()) |>
  select(row_number, mpg, disp, hp, wt) |>
  gather(mpg, disp, hp, wt, key="key", value= "value")

merge(df, df, by = "row_number",  all=TRUE))() |> 
  ggplot(aes(x=value.x, y= value.y)) +
    geom_point() +
    facet_grid(rows = vars(key.y), cols=vars(key.x), scales="free") +
    NULL

reprex 包于 2024 年 6 月 27 日创建(v2.0.1)

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.