如何合并向量列表(在R中),使其具有最小长度?

如何合并向量列表(在R中),使其具有最小长度?,r,merge,R,Merge,我有以下四个向量: A <- c(5, 5, 5, 5, 5, 5, 5) B <- c(6, 6, 6) C <- c(7, 7, 7, 7) D <- c(8, 8, 8, 8) A我使用combn对单个向量进行两两组合(忽略方向c(A,B)==c(B,A)和自连接,c(A,A)是不需要的) 输出 你不应该再发同样的问题了。通过编辑和处理观众留下的评论,提高原始问题的质量。@感谢您的评论。什么是不清楚的?我试图删除旧问题,这显然不起作用。但我认为他们现在应该合并。@

我有以下四个向量:

A <- c(5, 5, 5, 5, 5, 5, 5)
B <- c(6, 6, 6)
C <- c(7, 7, 7, 7)
D <- c(8, 8, 8, 8)

A我使用
combn
对单个向量进行两两组合(忽略方向
c(A,B)==c(B,A)
和自连接,
c(A,A)
是不需要的)

输出
你不应该再发同样的问题了。通过编辑和处理观众留下的评论,提高原始问题的质量。@感谢您的评论。什么是不清楚的?我试图删除旧问题,这显然不起作用。但我认为他们现在应该合并。@ycw。我明白了,我再也不会从我的手机里问什么了。最后,我想把一个向量列表(这里是4个向量)转换成一个最小长度为7的向量列表(这里是2个向量,s1和s2)。在这里重新打开。对重复测试的最终编辑表明,您希望找到满足最小长度要求的所有成对组合。这很好,很清楚,如果描述准确,请在这里编辑。@Frank。只有一种组合。哪一个(至少目前是这样)对我来说并不重要。非常感谢你的广泛回答。这正是我想要的。非常感谢你帮助我!回答得好!很乐意帮忙。希望下次你能避免使用手机;)
s1 <- c(5, 5, 5, 5, 5, 5, 5, 6, 6, 6)
s2 <- c(7, 7, 7, 7, 8, 8, 8, 8)
temp <- combn(list(A,B,C,D), 2)
threshold <- 7
L1 <- lapply(1:ncol(temp), function(x) Reduce("c", c(temp[1,x], temp[2,x])))
L2 <- L1[lengths(L1) >= threshold]
[[1]]
 [1] 5 5 5 5 5 5 5 6 6 6

[[2]]
 [1] 5 5 5 5 5 5 5 7 7 7 7

[[3]]
 [1] 5 5 5 5 5 5 5 8 8 8 8

[[4]]
[1] 6 6 6 7 7 7 7

[[5]]
[1] 6 6 6 8 8 8 8

[[6]]
[1] 7 7 7 7 8 8 8 8