我试图找到一种简单的方法(最好是一行),将字符向量中元素的独特组合组合组合并连接到一个新的字符串向量中.

我还希望能够在插入向量组合之前、之间或之后,在新向量中包含任何文本行.组合不应按相反顺序重复(例如,'x1_x2'而不是'x2_x1'),也不应将一个元素与自身组合(不是'x1_x1').

是否存在快速解决方案?

预期结果的等效代码示例:

vec <- paste0("X", 1:5)
# The underscore signifies any arbitrary line of text
c(
    paste0("_", vec[1], "_", vec[2:5], "_"),
    paste0("_", vec[2], "_", vec[3:5], "_"),
    paste0("_", vec[3], "_", vec[4:5], "_"),
    paste0("_", vec[4], "_", vec[5], "_")
)

'_X1_X2_''_X1_X3_''_X1_X4_''_X1_X5_''_X2_X3_''_X2_X4_''_X2_X5_'
'_X3_X4_''_X3_X5_''_X4_X5_'

推荐答案

试试combn

> sprintf("_%s_", combn(vec, 2, paste0, collapse = "_"))
 [1] "_X1_X2_" "_X1_X3_" "_X1_X4_" "_X1_X5_" "_X2_X3_" "_X2_X4_" "_X2_X5_"
 [8] "_X3_X4_" "_X3_X5_" "_X4_X5_"

> paste0("_", combn(vec, 2, paste0, collapse = "_"), "_")
 [1] "_X1_X2_" "_X1_X3_" "_X1_X4_" "_X1_X5_" "_X2_X3_" "_X2_X4_" "_X2_X5_"
 [8] "_X3_X4_" "_X3_X5_" "_X4_X5_"

R相关问答推荐

如何在R中对深度嵌套的tibbles中的非空连续行求和?

R-更新面内部的栅格值

在连续尺度上转置标签[瀑布图,R]

非线性混合效应模型(NLME)预测变量的置信区间

正在导出默认的RStudio主题,还是设置括号 colored颜色 ?

使用gt_summary是否有一种方法来限制每个变量集进行配对比较?

是否可以将线性模型的p值添加到tbl_summary中

从线的交点创建面

我正在try 创建一个接近cos(X)的值的While循环,以便它在-或+1-E10范围内

条形图中的条形图没有try 赋予它们的 colored颜色

重写时间间隔模糊连接以减少内存消耗

了解nchar在列表上的意外行为

通过分析特定列中的字符串在数据框中创建新的行和列

从data.table列表中提取特定组值,并在R中作为向量返回

如何从R调用Amazon销售合作伙伴API?

使用r box包一次加载所有功能

在R中更改GGally::ggpays中的基色?

多条件ifelse语句

如何行绑定存储在多级嵌套列表中的数据帧,并为每一级添加标识符列?

基于单元格内容透视到宽窗体