我将如何对两个向量的元素求和但排除最后一个元素

How would I sum elements of two vectors but exclude the last element

我想将向量的所有元素加在一起。但是,我试图排除每个向量的最后一个元素。例如,

vector1 <- c(10,20,3000)
vector2 <- c(20,40,5000)

sum(vector1, vector2)
[1] 8090

但是我想排除vector1中的3000vector2中的5000输出[1] 90。此外,这只是一个可重现的示例,我的真实向量没有相同数量的元素。可以这样吗?

您可以手动排除最后一个组件。 一种可能性是:

sum(rev(vector1)[-1], rev(vector2)[-1])

rev 反转向量,[-1] 选择除第一个元素(反转向量的)以外的所有元素。

您可以使用 head 删除最后一个元素和 sum

sum(head(vector1, -1), head(vector2, -1))

或者

sum(vector1[-length(vector1)], vector2[-length(vector2)])

您可以在执行求和之前取消选择矢量的最后一项:

vector1 <- c(10,20,3000)
vector2 <- c(20,40,5000)

sum(vector1[-length(vector1)], vector2[-length(vector2)])