簡體   English   中英

R-從數據框中為向量中的列值設置行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM