R 基于一组值仅保留数据帧的某些行

R 基于一组值仅保留数据帧的某些行,r,subset,R,Subset,我有一个数据框,其中有一个ID列和几个值列。我只想根据数据帧的某些行的ID值是否与另一组值匹配(例如,称为“keep”)来保留该行 为简单起见,以下是一个示例: df <- data.frame(ID = sample(rep(letters, each=3)), value = rnorm(n=26*3)) keep <- c("a", "d", "r", "x") df尝试df[df$ID%在%keep中,]或子集(df,ID%在%keep中)--有关详细信息,请参阅帮助页面

我有一个数据框,其中有一个ID列和几个值列。我只想根据数据帧的某些行的ID值是否与另一组值匹配(例如,称为“keep”)来保留该行

为简单起见,以下是一个示例:

df <- data.frame(ID = sample(rep(letters, each=3)), value = rnorm(n=26*3))
keep <- c("a", "d", "r", "x")

df尝试
df[df$ID%在%keep中,]
子集(df,ID%在%keep中)
--有关详细信息,请参阅帮助页面


编辑:另外,如果这是一封信,您可以编写例如
df[df$ID==“a”,]
而不是使用
which()

尝试df[df$ID%在%keep中,]或子集(df,ID%在%keep中)--非常感谢!我确实知道另一种只推断一个字母的方法,但在我使用R的整个历史中,我一直使用
which()
方法,它在语法上看起来更漂亮(如果这有意义的话……),所以我坚持使用:)