(diff()を使用して)データフレーム内の列の数値微分を計算し、NA値を追加して長さを維持するにはどうすればよいですか?
質問する
4830 次
2 に答える
14
NAがどこに正確に必要かは不明ですが、すぐに連結できます。
dif <- c(NA, diff(dfrm$id, lag=1))
于 2012-11-27T22:12:05.980 に答える
8
この答えから私の質問まで。
付加する一般的な方法を探していた場合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)
于 2016-09-14T08:50:43.187 に答える