#r #purrr #stringr
#r #муррр #stringr
Вопрос:
Какими будут входные данные:
c("a", "b", "c")
[1] "a" "b" "c"
Мне нужна функция, которая возвращает:
[1] "a;b" "a;c" "b;c"
Мне нужно, чтобы эта функция работала исключительно на своих входных данных. Я пробовал кое-что с purrr::map()
помощью and purrr::reduce()
, но мне не удалось получить ничего полезного.
Ответ №1:
Мы можем использовать combn
from base R с FUN
аргументом как paste
combn(x, 2, FUN = paste, collapse = ";")
#[1] "a;b" "a;c" "b;c"
данные
x <- c("a", "b", "c")
Комментарии:
1. Отлично, даже не знал
combn()
, что существует! Спасибо!
Ответ №2:
Не точный результат, но, возможно, это может быть полезно:
test<-c("a", "b", "c")
lapply(test,function(x) paste0(x,";",setdiff(test,x)))
Результат:
[[1]]
[1] "a;b" "a;c"
[[2]]
[1] "b;a" "b;c"
[[3]]
[1] "c;a" "c;b"