[英]Filter data frame based off factor - R
我有以下數據框(稱為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])]
我似乎無法根據因素過濾此數據。 怎么做?
簡單的答案是,創建的變量是執行比較時應該迭代的變量。 所以:
new_data <- cats[which(x == unique(x)[1]),]
另一個選擇是根本不子集化,而是使用ggplot
的facet
功能,如下所示
cats %>%
mutate(breaks = cut(Bwt, breaks=3)) %>%
ggplot() +
geom_boxplot(aes(x = Sex, y = Hwt)) +
facet_wrap(~breaks)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.