如果多个条件没有在r中给出输出

时间:2017-07-28 07:53:46

标签: r combinations cross-product rowsum

我有一个数据框

df= data.frame(ID=paste(rep("a",7),c(1:7),sep = ""),
               col2=c(12,10,1,2,5,10,8),
               col3=c(200,150,180,450,100,130,200))

我试图检查总结特定数字的那些元素的组合以及检查sumproduct的那些相同元素 但它没有提供任何输出 例如,对于数据框 df ,这些值的总和为25,所以

  col2  col3
    10   150
    5    100
    10   130

=sumproduct((E3:E5,D3:D5) [excel formula] 
output = 3300

这是我期望的以下代码a2,a5,a6

的输出

这是我的代码

for(i in 1:nrow(df)){
  comb <- combn(1:nrow(df), i, FUN = NULL, simplify = TRUE)
  for (j in 1:ncol(comb)){
    subvec <- comb[,j]
    a <- sum(df[subvec,2])

     b <- sum(df[i, 2] * df[i, 3])
    if(a == 25 && b == 3300){
      print(df[subvec,1])
    }
  }
}

0 个答案:

没有答案