Р;Как выбрать () столбцы, которые содержат () строки, где строка является любым элементом списка - PullRequest
0 голосов
/ 28 октября 2019

Я хочу установить подкадр данных, в соответствии с которым я выбираю столбцы, основываясь на том факте, что в столбце содержится определенная строка или нет. Эти строки, которые он должен содержать, хранятся в отдельном списке.

Это то, что у меня сейчас есть:

colstrings <- c('A', 'B', 'C')

for (i in colstrings){
   df <- df %>% select(-contains(i))
}

Однако, похоже, что этого не следует делать с циклом for,Любые предложения о том, как сделать этот код короче?

1 Ответ

0 голосов
/ 28 октября 2019

Вот ответ, адаптированный из предыдущего сообщения SO:

library(dplyr)

df <-
  tibble(
    ash = c(1, 2),
    bet = c(2, 3),
    can = c(3, 4)
  )

df

substr_list <- c("sh", "an")

df %>% 
  select(matches(paste(substr_list, collapse="|")))

Подробнее здесь: выбор столбцов на основе нескольких строк с помощью dplyr содержит ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...