r语言 - 基于特定列采用的值的子集数据框



这是一个琐碎的例子,其解决方案对我有很大帮助。

v.1<- c(5,8,7,2)
v.2<- c("hi", "hello", "hum", "bo")
df<- data.frame(v.1, v.2)
desired.values<- c("hi", "bo")

我想要数据集的所有行,其中 v.2 采用所需的值之一。

期望输出:

5 "嗨"

2 "博"

在我的真实数据集中,v.2 包含 10000 多个值,而 desired.values 包含 2000 多个值。

你可以

试试data.table

library(data.table)
setkey(setDT(df),v.2)[desired.values]

或使用base R方法

 df[df$v.2 %in% desired.values,]

  df[grep(paste(desired.values, collapse="|"), df$v.2),]

最新更新