我有一个数字向量/数组,如下所示。按递减顺序排序后,我希望连续元素之间有一系列差异:我想从第1个中减去第2个元素,从nd中减去第3个元素......我可以有n个元素...我怎样才能实现相同?
差异数组将具有n-1个元素
a=c(2,3,5)
a=sort(a,decreasing = TRUE)
在上述情况下,差异数组将为(2,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