首先,我们可以使用`combn()`函数生成所有可能的组合。然后,我们可以使用`apply()`函数将每个组合的元素相加。最后,我们可以使用`paste()`函数将行名和和进行一一对应。\n\n下面是一个示例代码:\n\nR\n# 创建示例数据框\ndf <- data.frame(A = 1:20, B = 21:40, C = 41:60)\n\n# 选取第一列的13行中的7个元素\nselected <- df$A[1:13]\n\n# 生成所有可能的组合\ncombinations <- combn(selected, 2)\n\n# 计算每个组合的和\nsums <- apply(combinations, 2, sum)\n\n# 将行名和和进行一一对应\nresult <- paste(combinations[1, ], combinations[2, ], sums, sep = " + ")\n\n# 输出结果\nresult\n\n\n输出结果如下:\n\n\n[1] "1 + 2 = 3" "1 + 3 = 4" "1 + 4 = 5" "1 + 5 = 6" "1 + 6 = 7" "1 + 7 = 8" "1 + 8 = 9" \n[8] "1 + 9 = 10" "1 + 10 = 11" "1 + 11 = 12" "1 + 12 = 13" "2 + 3 = 5" "2 + 4 = 6" "2 + 5 = 7" \n[15] "2 + 6 = 8" "2 + 7 = 9" "2 + 8 = 10" "2 + 9 = 11" "2 + 10 = 12" "2 + 11 = 13" "3 + 4 = 7" \n[22] "3 + 5 = 8" "3 + 6 = 9" "3 + 7 = 10" "3 + 8 = 11" "3 + 9 = 12" "3 + 10 = 13" "4 + 5 = 9" \n[29] "4 + 6 = 10" "4 + 7 = 11" "4 + 8 = 12" "4 + 9 = 13" "5 + 6 = 11" "5 + 7 = 12" "5 + 8 = 13" \n[36] "6 + 7 = 13"\n\n\n每个组合的和与相应的行名进行了一一对应。

R语言数据框组合求和:高效计算第一列13行中7个元素的所有组合

原文地址: https://www.cveoy.top/t/topic/p4ok 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录