【发布时间】:2021-06-11 16:43:11
【问题描述】:
请假设我有以下向量:
vec = c("A", "B", "C")
我希望能够生成一个具有以下输出的向量:
vec_combn = c("", "A", "B", "C", "A+B", "A+C", "B+C", "A+B+C")
这是所有可能的组合,包括空集。
有什么方法可以快速做到这一点?
谢谢
【问题讨论】:
请假设我有以下向量:
vec = c("A", "B", "C")
我希望能够生成一个具有以下输出的向量:
vec_combn = c("", "A", "B", "C", "A+B", "A+C", "B+C", "A+B+C")
这是所有可能的组合,包括空集。
有什么方法可以快速做到这一点?
谢谢
【问题讨论】:
试试:
unlist(sapply(0:length(vec),function(n) apply(combn(vec,n),2,function(v) paste0(v,collapse="+"))))
[1] "" "A" "B" "C" "A+B" "A+C" "B+C" "A+B+C"
【讨论】: