【问题标题】:Possible combinations of a matrix in R [closed]R中矩阵的可能组合
【发布时间】:2016-10-24 23:12:30
【问题描述】:

我有一个数据框

df <- data.frame(x = c(1,2,3,4,5), y = c(11,12,13,14,15))

我想要得到的是这个

df
1  11
2  12
3  13
4  14
5  15
2  12
3  13
4  14
5  15
3  13
4  14
5  15
5  15

基本上就是所有可能的数据框组合。我尝试了 combn 和 expand.grid 但它们给了我所有可能的组合,而不是所有可能的组合一次取两个。我也尝试循环它,但子集总是要折腾。

有什么想法吗?

【问题讨论】:

  • 你说的“一次拿两个”是什么意思?
  • 我不认为组合是您在这里寻找的。你能不能试着澄清一下。你的例子不是很清楚。
  • 我想要的是这样的,设置 1 = (a,b,c)。 set1 的所有可能子集都是 (a,b,c,b,c,c)。
  • 可能是您问题的示例中缺少某些元素吗?
  • 你可以这样做:unlist(lapply(df$x, function(x){ df$y[x:5] } ))

标签: r combinations


【解决方案1】:

我们可以通过 sapply 迭代对配对进行排序。然后将向量与索引绑定:

df <- data.frame(x = c(1,2,3,4,5), y = c(11,12,13,14,15))
s <- seq(length(df$x))
d2 <- unlist(sapply(s, seq, to=max(s)))
cbind.data.frame(x=df$x[d2], y=df$y[d2])
#    x  y
# 1  1 11
# 2  2 12
# 3  3 13
# 4  4 14
# 5  5 15
# 6  2 12
# 7  3 13
# 8  4 14
# 9  5 15
# 10 3 13
# 11 4 14
# 12 5 15
# 13 4 14
# 14 5 15
# 15 5 15

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多