【问题标题】:Conditional summation in rr中的条件求和
【发布时间】:2016-11-19 00:58:27
【问题描述】:

我有一个包含 63 列和 1128 行的数据框。

这些列由 weightsrep、lon lat、v1.....v60 组成,其中 v[i] 表示降水数据。

我想创建一个向量 [1:60],其中包含 weightsrep 的总和,其中 v 不等于 0。

例如(将这些想象成列):

如果权重 rep = 0.2,0.3,0.2

和 v1 = 10,0,8

那么 weightreps 的总和 = 0.2+0.2

【问题讨论】:

  • 你可以使用普通的 R 子集,比如sum(df$weightsrep[!(df$v==0)])
  • 提供可重现的例子。

标签: r sum conditional


【解决方案1】:
df <- data.frame(rep=c(0.2,0.3,0.2),
                 lon=c(35,36,37),
                 lat=c(-90,-91,-92),
                 v1=c(10,0,8),
                 v2=c(3,4,5),
                 v3=c(9,20,4))

v <- as.vector("numeric")
for(i in 1:3) v[i] <- sum(df$rep[df[,i+3]!=0])

【讨论】:

    猜你喜欢
    • 2011-05-20
    • 2020-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-13
    • 1970-01-01
    • 2017-12-02
    • 1970-01-01
    相关资源
    最近更新 更多