Это упрощенный пример «проблемы»
dt <-
read.table(textConnection("names age location
Ann 32 Glas
Annie 31 US
Anne 40 Glas
Kerri 31 Edin
David 39 Fra
Glas 29 Annie
Lindsay 24 US
Lynsey 37 Glas
Glas Annie US
Lila 39 Fra
Layla 37 US"),
header = TRUE,
sep = "",
stringsAsFactors = FALSE) %>%
as_tibble()
Я хочу добавить новый столбец под названием AnnGlas для каждой строки, где присутствуют «ann» и «glas»
Я знаю, как фильтровать по обоим, но не по обоим одновременно
dt %>% filter_all(any_vars(str_detect(str_to_lower(.), "glas|ann")))
Я могу найти совпадение по обоим, но не по обоим, используя apply
apply(dt, 2, function(x) str_detect(str_to_lower(x), "glas|ann"))
Мне нужночтобы найти какой-нибудь способ проверки, содержит ли какой-либо столбец строки глас, и если другой столбец содержит ann, чтобы я мог создать новый столбец
Вывод будет выглядеть следующим образом
names age location desc
<chr> <chr> <chr> <lgl>
1 Ann 32 Glas TRUE
2 Annie 31 US FALSE
3 Anne 40 Glas TRUE
4 Kerri 31 Edin FALSE
5 David 39 Fra FALSE
6 Glas 29 Annie TRUE
7 Lindsay 24 US FALSE
8 Lynsey 37 Glas FALSE
9 Glas Annie US TRUE
10 Lila 39 Fra FALSE
11 Layla 37 US FALSE