我有一组收益数据集。我想根据种族显示收入的箱线图。
比赛分为0到10之间的数字。 0至3为白色,4至5为黑色,6至10为黑色。
如何根据种族显示收入的箱线图?
我尝试将其分解为多种因素,现在我有三个因素使用:
white <- factor(Race < 4)
black <- factor(Race>4 & Race<6)
mixed <- factor(Race>6)
但是盒子图不适用。
答案 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)]