如何将矢量拆分为箱形图的因子?

时间:2017-01-25 20:48:19

标签: r

我有一组收益数据集。我想根据种族显示收入的箱线图。

比赛分为0到10之间的数字。 0至3为白色,4至5为黑色,6至10为黑色。

如何根据种族显示收入的箱线图?

我尝试将其分解为多种因素,现在我有三个因素使用:

white <- factor(Race < 4)
black <- factor(Race>4 & Race<6)
mixed <- factor(Race>6)

但是盒子图不适用。

2 个答案:

答案 0 :(得分:2)

您可以使用cut

执行此操作
Race = 0:10
R2 = factor(cut(Race, breaks=c(0,3,5,10), include.lowest=TRUE), 
        labels=c("White", "Black", "Mixed"))
R2
 [1] White White White White Black Black Mixed Mixed Mixed Mixed Mixed
Levels: White Black Mixed

答案 1 :(得分:1)

使用dplyr:

levels <- c(3, 5, 10)
labels <- c("White", "Black", "Mixed")
data %>% 
mutate(Race.factor = cut(Race, levels, labels = labels)) %>%
ggplot(aes(x=Race.factor, y=earnings) +
geom_boxplot()

您也可以使用data.table:

library(data.table)
setDT(data)[, race.Factor := cut(b, levels, labels)]