R:求和值和求和值

时间:2015-05-10 21:08:09

标签: r vector sum

我有一个矢量:

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

2 个答案:

答案 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]]