R如何减去矢量元素

时间:2014-08-25 21:02:33

标签: r vector numeric

我有一个数字向量/数组,如下所示。按递减顺序排序后,我希望连续元素之间有一系列差异:我想从第1个中减去第2个元素,从nd中减去第3个元素......我可以有n个元素...我怎样才能实现相同?

差异数组将具有n-1个元素

a=c(2,3,5)
a=sort(a,decreasing = TRUE)

在上述情况下,差异数组将为(2,1)

1 个答案:

答案 0 :(得分:3)

我认为您正在寻找diff功能。最简单的是,将绝对值与abs一起应用(或仅乘以-1),以便从已排序的向量中获得所需的结果。

您可以使用以下任何一种方法:

> a <- c(5, 3, 2)
> -1*diff(a)
# [1] 2 1
> abs(diff(a))
# [1] 2 1
> rev(diff(rev(a)))
# [1] 2 1