使用ggploy为两个不同的数据框列创建盒图不同、两个、数据、ggploy

2023-09-04 01:53:13 作者:别烦

我正在尝试绘制两列数据的框图。我过去看到的是,我们为每个数据都有一个数据和标签,所以我们可以将标签作为一个类传递到gggraph箱图中,然后它将被绘制出来。但是,在本例中,我没有标签,我只想为第1列和第2列绘制框图:

level <-c(1,2,3,5,2,4,3,1,3)
pay1 <- c(10,21,32,12,41,21,36,14,17)
pay2 <- c(26,36,5,6,52,12,18,17,19)
data <- data.frame(level, pay1, pay2)


  level pay1 pay2
1     1   10   26
2     2   21   36
3     3   32    5
4     5   12    6
5     2   41   52
6     4   21   12
7     3   36   18
8     1   14   17
9     3   17   19

如果您能告诉我如何才能做到这一点,我将不胜感激

推荐答案

三七互娱 大象起舞,收入空间 五年四倍

可能您正在寻找这个。关键是使用pivot_longer()将数据整形为Long,然后您可以绘制曲线图。代码如下:

library(tidyverse)
#Data
level <-c(1,2,3,5,2,4,3,1,3)
pay1 <- c(10,21,32,12,41,21,36,14,17)
pay2 <- c(26,36,5,6,52,12,18,17,19)
data <- data.frame(level, pay1, pay2)
#Plot
data %>% pivot_longer(-level) %>%
  ggplot(aes(x=name,y=value,fill=name))+
  geom_boxplot()

输出:

或级别是否相关:

#Plot 2
data %>% pivot_longer(-level) %>%
  ggplot(aes(x=name,y=value,fill=factor(level)))+
  geom_boxplot()

输出: