【问题标题】:R: copy all pairwise combinations of dataframe and their combined name in new dataframeR:将数据帧的所有成对组合及其组合名称复制到新数据帧中
【发布时间】:2022-07-15 20:49:05
【问题描述】:

我想知道如何生成一个新的数据框,其中包含值的所有成对组合以及另一个数据框的组合行和列名称。举例说明,我有以下数据框:

# dataframe with col names a1:a5

df <- data.frame(a1 = c(4, 2, 6, 9, 13),
                 a2 = c(56, 1, 47, 2, 3),
                 a3 = c(4, 6, 9, 11, 85),
                 a4 = c(6, 15, 4, 12, 3),
                 a5 = c(54, 94, 3, 2, 75))
# and with rownames a1:a5
rownames(df) <- c("a1","a2","a3","a4","a5")

df 现在看起来像这样:

a1 a2 a3 a4 a5
a1 4 56 4 6 54
a2 2 1 6 15 94
a3 6 47 9 4 3
a4 9 2 11 12 2
a5 13 3 85 3 75

我需要一个包含所有可能组合(所以 25x2)的新数据框,如下所示:

Step Value
1 a1a1 4
2 a1a2 56
3 a1a3 4
4 a1a4 6
... ... ...
25 a5a5 75

谢谢。

【问题讨论】:

  • 价值从何而来? max?

标签: r dataframe combinations pairwise


【解决方案1】:

您可以将数据转换为table,然后再转换回data.frame

as.data.frame(as.table(as.matrix(df)))

#    Var1 Var2 Freq
# 1    a1   a1    4
# 2    a2   a1    2
# 3    a3   a1    6
# 4    a4   a1    9
# 5    a5   a1   13
# 6    a1   a2   56
# 7    a2   a2    1
# 8    a3   a2   47
# 9    a4   a2    2
# 10   a5   a2    3
# ...

【讨论】:

    猜你喜欢
    • 2021-12-21
    • 2023-03-20
    • 1970-01-01
    • 2021-10-19
    • 1970-01-01
    • 2017-05-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多