满足条件时求和数据帧的列

时间:2017-10-07 15:30:07

标签: r sum

我想创建一个新列,它只是现有列中正值的总和。因此,在列TotalImportSE3中,我想获得仅有正值的SE3-NO1,SE3-DK1,SE3-FI,SE3-SE4列的总和,如果它们中没有一个是正数,则应为0。

      SE3 - NO1 SE3 - DK1 SE3 - FI SE3 - SE2 SE3 - SE4 TotalImportSE3
 47      1114       666     -225      2716     -3784             NA
 48      1009       671     -151      1491     -2943             NA
 54      1057       711    -1062      1658     -2201             NA
 55      1077       711    -1213      3492     -3015             NA
 94       772       414     -501      2904     -2262             NA
 95      -786      -314     -407     -2368     -2005             NA

输出应如下所示:

      SE3 - NO1 SE3 - DK1 SE3 - FI SE3 - SE2 SE3 - SE4 TotalImportSE3
 47      1114       666     -225      2716     -3784             4496
 48      1009       671     -151      1491     -2943             3171
 54      1057       711    -1062      1658     -2201             3426
 55      1077       711    -1213      3492     -3015             5280
 94       772       414     -501      2904     -2262             4090
 95      -786      -314     -407     -2368     -2005             0

到目前为止我的努力:

df1 <- df$`SE3 - NO1`[which(Data$`SE3 - NO1`>0)]
df2 <- df$`SE3 - DK1`[which(Data$`SE3 - DK1`>0)]

但它确实创造了两个不同长度的向量,因此它完全混乱。

1 个答案:

答案 0 :(得分:3)

你可以试试这个:

 df$TotalImportSE3=rowSums(df*(df>0))
  • df是您的数据框的名称