我有一个矢量:
vec <- c(1,-2,9,-7,7,4,5,2,1,-10)
现在我想取vec中负值的总和,以及vec中正值的总和。
neg <- sum of the negative values in vec
pos <- sum of the positive values in vec
答案 0 :(得分:5)
neg <- sum(vec[vec<0]);
pos <- sum(vec[vec>0]);
答案 1 :(得分:1)
尝试:
pos <- sum(subset(vec, vec > 0))
neg <- sum(subset(vec, vec < 0))
或者:
l <- split(vec, vec < 0)
pos <- sum(l[[1]])
neg <- sum(l[[2]])
或者@David在评论中提到:
m <- lapply(split(vec, vec < 0), sum)
pos <- m[[1]]
neg <- m[[2]]