【发布时间】:2012-11-27 22:07:23
【问题描述】:
如何计算数据框中列的数值导数(使用 diff()) 并通过添加 NA 值来保持长度?
【问题讨论】:
-
不清楚你在问什么。保持什么长度?
标签: r
如何计算数据框中列的数值导数(使用 diff()) 并通过添加 NA 值来保持长度?
【问题讨论】:
标签: r
不清楚您到底想要 NA 的位置,但您可以直接将它们连接起来。
dif <- c(NA, diff(dfrm$id, lag=1))
【讨论】:
从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)
【讨论】: