我创建了一个列表,它包含字符串中特定字符的所有组合。创建该列表的代码如下:
library(stringr)
test = str_locate_all("TTEST" , "T")
ind1 = lapply( lapply(1:nrow(test[[1]]), combn , x=test[[1]][,1]) , t )
ind1[[1]] = rbind(ind1[[1]], 0 )
我得到的名单看起来像是
[[1]]
[,1]
[1,] 1
[2,] 2
[3,] 5
[4,] 0
[[2]]
[,1] [,2]
[1,] 1 2
[2,] 1 5
[3,] 2 5
[[3]]
[,1] [,2] [,3]
[1,] 1 2 5
现在我想做的是合并/折叠列(在不止一列的情况下),并取消列出整个对象,以便创建一个最终的向量,看起来像c(1,2,5,0,1:2,1:5,2:5,1:2:5),并能够在以后使用expand.grid()函数。
尝试使用以下代码部分解决该问题,但“:“字符的位置与所需位置不同。
do.call(paste, c( as.data.frame(ind1[[2]]) ,collapse=":") )
[1] "1 2:1 5:2 5"
1条答案
按热度按时间yhxst69z1#
这里有一个通过base R的想法,我们将列表元素转换为 Dataframe ,并使用
do.call
粘贴它们,即