首页 > 解决方案 > 如何过滤 R 中具有特定值的行?

问题描述

我的数据集有 21 列,4625 行。由于此处列的内容,我无法粘贴几行数据集,仅提供一个演示数据集:

   c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 c16 c17 c18 c19 c20 c21 
1  GCF1 ............................10..................................... 386
2  GCF2 ............................10......................................10
3  GCF3 ............................32......................................10

column21 有 331 个不同的数字,我想根据 column21 的数量对我的数据进行分组。例如,我想根据其他列查看有多少 GCF 具有“10”及其特征。我尝试了以下命令。它带有 236 行,在第 11 列中有 10 行,但在第 21 列中没有。

 f2 <- f1[rowSums(sapply(f1[-21], '%in%', c('10'))) > 0,]
   c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 c16 c17 c18 c19 c20 c21 
1  GCF1 ............................10......................................386
2  GCF2 ............................10......................................10

如何根据第 21 列中的值对行进行排序?

标签: rfilter

解决方案


来自 dplyr 的过滤器命令正是为了做到这一点而设计的。

这将仅返回 c21 中包含 10 的行

library(dplyr)

df %>% 
   filter(c21 == 10)

推荐阅读