Рассмотрим следующую таблицу:
library(tidyverse)
tdf <- tibble(
col1 = c(
"album L. abietis (Wiesb.) Abrom.",
"abortivum (L.) Swartz abortivum",
"acanthoclada DC."
),
col2 = c(
"abietis (Wiesb.) Abrom.",
"abortivum",
"acetoselloides (Balansa) Nijs"
)
)
# # A tibble: 3 x 2
# col1 col2
# <chr> <chr>
# 1 album L. abietis (Wiesb.) Abrom. abietis (Wiesb.) Abrom.
# 2 abortivum (L.) Swartz abortivum abortivum
# 3 acanthoclada DC. acetoselloides (Balansa) Nijs
Я хотел бы объединить col1
и col2
, если содержимое col2
отсутствует в col1
. Я попробовал следующее, но это не работает:
tdf %>%
mutate(col3 = if_else(
col1 %>% str_detect(col2),
col1,
paste(col1, col2)
))
# str_detect(tdf$col1, tdf$col2)
# [1] FALSE TRUE FALSE
Ожидаемый результат для col3
следующий:
col3
<chr>
1 album L. abietis (Wiesb.) Abrom.
2 abortivum (L.) Swartz abortivum
3 acanthoclada DC. acetoselloides (Balansa) Nijs