我有一个包含63列和1128行的数据框。
列由weightsrep,lon lat,v1 ..... v60组成,其中v [i]表示降水数据。
我想创建一个向量[1:60],其中包含权重的总和,其中v不等于0.
例如(将这些视为列):
如果权重rep = 0.2,0.3,0.2
和v1 = 10,0,8
然后权重总和= 0.2 + 0.2
答案 0 :(得分: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])