你可以使用下面的基本语法在R语言中找到数据框架的行,其中某一个值出现在任何一列中。
library(dplyr)
df %>% filter_all(any_vars(. %in% c('value1', 'value2', ...)))
下面的例子展示了如何在实践中使用这种语法。
例1:查找任何一列中的值
假设我们在R语言中拥有以下数据框。
#define data frame
df = data.frame(points=c(25, 12, 15, 14, 19),
assists=c(5, 7, 7, 9, 12),
rebounds=c(11, 8, 10, 6, 6))
#view data frame
df
points assists rebounds
1 25 5 11
2 12 7 8
3 15 7 10
4 14 9 6
5 19 12 6
下面的语法显示了如何选择数据框中任何一列中包含数值25的所有行。
library(dplyr)
#select rows where 25 appears in any column
df %>% filter_all(any_vars(. %in% c(25)))
points assists rebounds
1 25 5 11
在任何一列中都有一个数值25的行。
下面的语法显示了如何选择数据框中任何一列中包含数值25、9或6的所有行。
library(dplyr)
#select rows where 25, 9, or 6 appears in any column
df %>% filter_all(any_vars(. %in% c(25, 9, 6)))
points assists rebounds
1 25 5 11
2 14 9 6
3 19 12 6
例2:查找任何一列中的字符
假设我们在R中拥有以下数据框。
#define data frame
df = data.frame(points=c(25, 12, 15, 14, 19),
assists=c(5, 7, 7, 9, 12),
position=c('G', 'G', 'F', 'F', 'C'))
#view data frame
df
points assists position
1 25 5 G
2 12 7 G
3 15 7 F
4 14 9 F
5 19 12 C
下面的语法显示了如何选择数据框中任何一列中包含字符G的所有行。
library(dplyr)
df %>% filter_all(any_vars(. %in% c('G')))
points assists position
1 25 5 G
2 12 7 G
有两行的任何一列中出现了字符 "G"。
下面的语法显示了如何选择数据框中任何一列中包含G或C值的所有行。
library(dplyr)
df %>% filter_all(any_vars(. %in% c('G', 'C')))
points assists position
1 25 5 G
2 12 7 G
3 19 12 C
其他资源
下面的教程解释了如何在R中执行其他常用功能。
如何在R中替换数据框中的值
如何在R中根据一个条件对列进行求和
如何在R中根据条件从数据框中删除行数
The postR: Select Rows Where Value Appears in Any Columnappeared first onStatology.