【发布时间】:2016-03-09 07:48:10
【问题描述】:
我有一个字符串向量v = c("abc", "csb", "csfd", "dds", "edds")。
我想使用向量 v 的元素生成小于或等于长度 n 的所有可能组合。
我尝试了combn 函数,它给出了类似这样的结果
>>combn(v,2)
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] "abc" "abc" "abc" "abc" "csb" "csb" "csb" "csfd" "csfd" "dds"
[2,] "csb" "csfd" "dds" "edds" "csfd" "dds" "edds" "dds" "edds" "edds"
但我也想要重复字符串和较低程度的术语的组合。例如,如果 n = 2 那么输出应该是这样的
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] "abc" "csb" "csfd" "dds" "edds" "abc" "abc" "abc" "abc" " csb"
[2,] "" "" "" "" "" "abc" "csb" "csfd" "edds" "edds"
和其他术语。
【问题讨论】:
-
试试
n <- 2; lapply(seq(n), function(i) combn(v,i))
标签: r string combinations