r语言 - 筛选列中的值/数据,根据这些数据中有特定的单词



我是R的初学者,正在处理一个简单的文件。我想过滤数据,并了解哪些行在"family"列中有一些值,其中包含";Ja"在他们的姓。我用的是"dply">

清单8是我的清单:输入图片描述

感谢大家的支持和帮助。

下面,我将展示如何返回data.frame的行,其中列Family的行值包含子字符串"Ja"

手动创建类似数据

我将首先创建类似的数据,添加一个假人的姓"jay"演示区分大小写的过滤。

library(dplyr)
df <- data.frame(Name = c("rachel","rachal","fake","sina","Toni"),
Family = c("Jackson","Jacki","jay", "Tobi;","Brayan"),
Scores = rnorm(5),
City = c("Shangha","Beijing","fake","Rome","Tokyo"))
print(df)
#>     Name  Family     Scores    City
#> 1 rachel Jackson  0.9383872 Shangha
#> 2 rachal   Jacki  0.8026869 Beijing
#> 3   fake     jay -1.4608956    fake
#> 4   sina   Tobi;  0.6325120    Rome
#> 5   Toni  Brayan -0.6269983   Tokyo

返回匹配项(区分大小写)

返回Family列包含子字符串"&;Ja"的行。这将区分大小写。

df %>% filter(grepl("Ja", Family))
#>     Name  Family    Scores    City
#> 1 rachel Jackson 0.9383872 Shangha
#> 2 rachal   Jacki 0.8026869 Beijing

返回匹配项(忽略大小写)

如果我们想要不考虑"Ja"大小写的行呢?

df %>% filter(grepl("Ja", Family, ignore.case = TRUE))
#>     Name  Family      Scores    City
#> 1 rachel Jackson -0.34802411 Shangha
#> 2 rachal   Jacki  0.02267559 Beijing
#> 3   fake     jay -0.74904081    fake

返回行索引

如果我们不想要行,而只想要行索引/数字呢?

grep("Ja", df$Family)
#> [1] 1 2

最新更新