基于每組行數(shù)的子集數(shù)據(jù)幀我有這樣的數(shù)據(jù),其中一些“名字”出現(xiàn)超過3次:df <- data.frame(name = c("a", "a", "a", "b", "b", "c", "c", "c", "c"), x = 1:9)
name x1 a 12 a 23 a 34 b 45 b 56 c 67 c 78 c 89 c 9我希望根據(jù)每個級別中的行數(shù)(觀察)對數(shù)據(jù)進行子集(篩選)。name變量。如果某一水平name發(fā)生3次以上,我要刪除屬于該級別的所有行。所以在這個例子中,我們會刪除觀察name == c,因為有> 3該組中的行: name x1 a 12 a 23 a 34 b 45 b 5我寫了這段代碼,但沒能讓它起作用。as.data.frame(table(unique(df)$name))subset(df, name > 3)
2 回答

慕工程0101907
TA貢獻1887條經(jīng)驗 獲得超5個贊
dplyr
df %>% group_by(name) %>% filter(n() < 4)# A tibble: 5 x 2# Groups: name [2] name x <fct> <int>1 a 12 a 23 a 34 b 45 b 5
n()
group_by
- 2 回答
- 0 關注
- 581 瀏覽
添加回答
舉報
0/150
提交
取消