我正在尝试绘制两列数据的框图。我过去看到的是,我们为每个数据都有一个数据和标签,所以我们可以将标签作为一个类传递到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()
输出: