r中的条件求和
Conditional summation in r
我有一个包含 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
那么权重的总和 = 0.2+0.2
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])
我有一个包含 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
那么权重的总和 = 0.2+0.2
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])