#r #filter
Вопрос:
У меня есть большой файл данных в R, и я хочу отфильтровать один столбец. Проще говоря, это выглядит так: и я хочу отфильтровать только значения, начинающиеся с GR…но без указания всех значений bc, их много, и они меняются. Не могли бы вы, пожалуйста, помочь мне? Спасибо
Ответ №1:
С grepl
тобой можно было бы сделать:
dd <- data.frame(
x1 = c("A", "B", "C", "GRTY", "GRkL", "G")
)
dd[grepl("^GR", dd$x1),, drop = FALSE]
#> x1
#> 4 GRTY
#> 5 GRkL
Ответ №2:
Вы можете использовать filter
и str_detect
из tidyverse
:
library(tidyverse)
df = data.frame(x1 = c("A", "B", "C", "GRTY", "GRkL", "G"))
df %>%
filter(str_detect(x1, pattern = "GR"))
Выход:
x1
1 GRTY
2 GRkL