gpt4 book ai didi

r - 独特的列组合

转载 作者:行者123 更新时间:2023-12-01 10:10:58 24 4
gpt4 key购买 nike

这是我的简化数据集:

foo <- data.frame(var1= c(1:10), var2=rep(1:5,2),var3=rep(1:2,5),var4=rep(3:7,2) )    

总共20个变量

foo

var1 var2 var3 var4 ... var20
1 1 1 1 3
2 2 2 2 4
3 3 3 1 5
4 4 4 2 6
5 5 5 1 7
6 6 1 2 3
7 7 2 1 4
8 8 3 2 5
9 9 4 1 6
10 10 5 2 7

我需要获得 3 个变量的独特组合及其每个时期的总和

即。像某事

  var1var2var3   var1var3var4   var1var5var18  etc...
1 6 sum
2 6
3 7
4 10
5 11
6 9
7 10
8 13
9 14
10 17

注意 var1var3var5 和 var3var1var5 是一样的

最佳答案

正如@Chase 所建议的,combn 可以满足您的需求:

nams <- apply( combn(colnames(foo),3), 2, function(z) paste(z, collapse = ''))
cols <- combn( ncol(foo), 3)

tripleSums <- apply( cols, 2, function(z) rowSums(foo[,z]))
colnames(tripleSums) <- nams

> tripleSums
var1var2var3 var1var2var4 var1var3var4 var2var3var4
[1,] 3 5 5 5
[2,] 6 8 8 8
[3,] 7 11 9 9
[4,] 10 14 12 12
[5,] 11 17 13 13
[6,] 9 10 11 6
[7,] 10 13 12 7
[8,] 13 16 15 10
[9,] 14 19 16 11
[10,] 17 22 19 14

关于r - 独特的列组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5081311/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com