例如,我们说我有一个像这样的高度列:
df1 <- data.frame(Col = c(70, 80, 74, 50, 59, 55, 65, 30, 55, 80))
我想将此列分成大于55或小于或等于55的组,然后制作两个箱图。这样做的最佳方式是什么?
提前致谢!
答案 0 :(得分:1)
我们可以split
&#39; Col&#39;基于逻辑vector
并执行boxplot
boxplot(split(df1$Col, df1$Col > 55))
或使用ggplot2
library(dplyr)
library(ggplot2)
df1 %>%
group_by(gr = factor((Col > 55)+1)) %>%
ggplot(., aes(x=gr,y =Col))+
geom_boxplot()
正如@rawr评论的那样,它可以在ggplot
ggplot(df1, aes(Col > 55, Col)) +
geom_boxplot()
或者我们只需要一个分组变量
(df1$Col > 55) + 1
df1 <- data.frame(Col = c(70, 80, 74, 50, 59, 55, 65, 30, 55, 80))