【问题标题】:Calculate derivative diff() and keep length - add NA [duplicate]计算导数 diff() 并保持长度 - 添加 NA [重复]
【发布时间】:2012-11-27 22:07:23
【问题描述】:

如何计算数据框中列的数值导数(使用 diff()) 并通过添加 NA 值来保持长度?

【问题讨论】:

  • 不清楚你在问什么。保持什么长度?

标签: r


【解决方案1】:

不清楚您到底想要 NA 的位置,但您可以直接将它们连接起来。

 dif <- c(NA, diff(dfrm$id, lag=1)) 

【讨论】:

    【解决方案2】:

    answer 到我的一个问题。

    如果您正在寻找一种通用的方法来添加 NA

    pad  <- function(x, n) {
        len.diff <- n - length(x)
        c(rep(NA, len.diff), x) 
    } 
    
    x <- 1:10
    dif <- pad(diff(x, lag=1), length(x)) 
    

    但如果你不怕引入zoo图书馆最好这样做

    library(zoo)
    x <- 1:5
    as.vector(diff(zoo(x), na.pad=TRUE)) # convert x to zoo first, then diff (that invokes zoo's diff which takes a na.pad=TRUE)
    # NA 1 1 1 1 (same length as original x vector)
    

    【讨论】:

      猜你喜欢
      • 2019-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-12
      • 2013-06-15
      • 2015-05-09
      • 1970-01-01
      相关资源
      最近更新 更多