[英]R - subsetting rows from a data frame for column values within a vector
有一個data.frame,df如下
id | name | value
1 | team1 | 3
1 | team2 | 1
2 | team1 | 1
2 | team2 | 4
3 | team1 | 0
3 | team2 | 6
4 | team1 | 1
4 | team2 | 2
5 | team1 | 3
5 | team2 | 0
我們如何子集數據幀以獲取所有ID從2:4開始的行?
我們可以像df[,df$id >= 2 & df$id <= 4]
這樣有條件地應用。 但是,是否有一種方法可以直接使用整數范圍的向量(例如ids <- c(2:4)
來對數據幀進行子集化?
一種實現方法是df[,df$id >= min(ids) & df$id <= max(ids)]
。
有更優雅的R方法嗎?
已經提到了最典型的方式,但也使用了match
with(df, df[match(id, 2:4, F) > 0, ])
或類似
with(df, df[is.element(id, 2:4), ])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.