Рассмотрим следующий тиббл:
## # A tibble: 16 x 4
## name genus order sleep_total
## <chr> <chr> <chr> <dbl>
## 1 Cheetah Acinonyx Carnivora 12.1
## 2 Northern fur seal Callorhinus Carnivora 8.70
## 3 Vesper mouse Calomys Rodentia 7.00
## 4 Dog Canis Carnivora 10.1
## 5 Roe deer Capreolus Artiodactyla 3.00
## 6 Goat Capri Artiodactyla 5.30
## 7 Guinea pig Cavis Rodentia 9.40
## 8 Domestic cat Felis Carnivora 12.5
## 9 Gray seal Haliochoerus Carnivora 6.20
## 10 Tiger Panthera Carnivora 15.8
## 11 Jaguar Panthera Carnivora 10.4
## 12 Lion Panthera Carnivora 13.5
## 13 Caspian seal Phoca Carnivora 3.50
## 14 Genet Genetta Carnivora 6.30
## 15 Arctic fox Vulpes Carnivora 12.5
## 16 Red fox Vulpes Carnivora 9.80
Я бы хотел выбрать только те столбцы, которые содержат хотя бы одно значение строки с именем «Carnivora».
Ожидаемый результат в этом случаебыло бы:
## order
## <chr>
## Carnivora
## Carnivora
## Rodentia
## Carnivora
## Artiodactyla
## Artiodactyla
## Rodentia
## Carnivora
## Carnivora
## Carnivora
## Carnivora
## Carnivora
## Carnivora
## Carnivora
## Carnivora
## Carnivora
Кто-то еще предоставил, как получить строк , которые содержат это. Однако это включает столбцы, которые не содержат это значение.
sleep %>%
select(name:order, sleep_total, -vore) %>%
filter_all(any_vars(str_detect(., pattern = "Ca")))