如何为所有列逐行设置数据子集

时间:2019-06-26 15:39:39

标签: r

这似乎是一个非常简单的问题,但是我无法在线找到任何解决方案。我想将数据框架子集化为任何列都包含字符串“ string”的行。这就是我想要对数据进行子集化的方式:

subset <- df[which(df$V1 == 'string' | df$V2 == 'string' | df$V3=='string'),]

但是我的框架有很多列,列出所有列效率很低。有没有更有效的方法来选择ANY列包含“字符串”的行?

1 个答案:

答案 0 :(得分:2)

我们可以使用rowSums创建一个创建逻辑向量来对行进行子集

nm1 <- paste0("V", 1:3)
df[rowSums(df[nm1] == "string") >  0,]