【问题标题】:R how to subtract vector elementsR如何减去向量元素
【发布时间】:2014-10-19 02:24:46
【问题描述】:

我有一个如下的数字向量/数组。在按降序排序后,我想要一个连续元素之间的差异数组:我想从第一个元素中减去第二个元素,从 nd 中减去第三个元素等等......我可以有 n 个元素......我怎样才能实现一样吗?

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

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

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

【问题讨论】:

    标签: r vector numeric


    【解决方案1】:

    我认为您正在寻找 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
    

    【讨论】:

    • 或者(如果你非常原创)a[-length(a)] - a[-1]
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多