我有以下数据框(称为cats
,可以使用library(MASS)
Sex Bwt Hwt
1 F 2.0 7.0
2 F 2.0 7.4
3 F 2.0 9.5
4 F 2.1 7.2
5 F 2.1 7.3
6 F 2.1 7.6
7 F 2.1 8.1
8 F 2.1 8.2
9 F 2.1 8.3
10 F 2.1 8.5
我首先创建3个因素:
x = cut(cats$Bwt, breaks=3)
现在我需要抓住所有符合第一个因素的数据,将其绘制在一个箱线图中。然后对其他两个因素做同样的事情。
我试过了:
new_data = subset(cats, cats$Bwt %in% x[1])
也
new_data = cats[which(cats$Bwt == x[1])]
我似乎无法根据因素过滤此数据。这是怎么做到的?
答案 0 :(得分:2)
简单的答案是,您创建的变量是您在执行比较时应该迭代的变量。所以:
facet
另一个替代方案是不要使用子集,而是使用ggplot
这样的cats %>%
mutate(breaks = cut(Bwt, breaks=3)) %>%
ggplot() +
geom_boxplot(aes(x = Sex, y = Hwt)) +
facet_wrap(~breaks)
功能
TreeView