R语言 按相似列名绘制多列方面

xnifntxz  于 2023-01-28  发布在  其他
关注(0)|答案(1)|浏览(131)

原谅我,因为我是R的新手。
我有一个包含许多列的数据框,其中一些列的名称相似:

> df
  x1 x2  y1  z1  z2   z3
1  1  2 1.2 1.1 1.4  4.4
2  2  3 2.4 2.2 2.8  8.8
3  3  4 3.6 3.3 4.2 13.2
4  4  5 4.8 4.4 5.6 17.6
5  5  6 6.0 5.5 7.0 22.0
6  6  7 7.2 6.6 8.4 26.4
7  7  8 8.4 7.7 9.8 30.8

我想在同一个图中绘制所有列,但每个相似的列名都要使用ggplot绘制在同一个“方面”中。因此,应该有三个部分,“x”、“y”、“z”。每个方面都应该有一行对应于每个列
是否有某种类型的ggplot解决方案使用小平面包裹?

omqzjyyz

omqzjyyz1#

使用一些数据处理来整理数据,您可以这样做(在这里,我假设x轴值应该是行号,因为您要求a * 每列一行 *):

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

dat_tidy <- dat |> 
  mutate(row = row_number()) |> 
  pivot_longer(-row) |> 
  extract(name, into = c("facet", "col"), "(.)(.)")

ggplot(dat_tidy, aes(row, value, color = col)) +
  geom_line() +
  facet_wrap(~facet)

相关问题