Я хочу перебрать комбинации, созданные combn()
.
Ввод:
"a" "b" "c" "d"
Желаемый вывод:
[1] "a" "b" "c" "d"
[1] "a and b" "a and c" "a and d" "b and c" "b and d" "c and d"
[1] "a and b and c" "a and b and d" "a and c and d" "b and c and d"
[1] "a and b and c and d"
Что я пробовал:
classes <- letters[1:4]
cl <- lapply(1:length(classes), combn, x = classes)
apply(cl[[1]], 2, paste, collapse = " and ")
apply(cl[[2]], 2, paste, collapse = " and ")
apply(cl[[3]], 2, paste, collapse = " and ")
apply(cl[[4]], 2, paste, collapse = " and ")
По сути, мой вопрос заключается в том, как лучше всего пройтись по последней части apply(cl[[NR]], 2, paste, collapse = " and ")
.
Я думал о lapply
, но я бы назначил FUN
дважды, и кажется странным объединить lapply и применить в одном вызове. Цикл for возможен, но, возможно, есть более эффективный способ.
Если Вопрос лучше подходит для проверки кода, я с удовольствием перенесу его.