R 通过忽略NA值获取列(或向量)中连续值之间的差异

R 通过忽略NA值获取列(或向量)中连续值之间的差异,r,R,我想得到向量(或数据帧的一列)中连续因子的差异。但我必须忽略此操作的NA值 difference <- abs(vector[i] - vector[i+1]) difference您可以使用R中的内置diff函数首先计算差异。这将返回一个包含一些NA值的向量(对应于x中的NA)。然后可以删除它们,留下一个只包含非NA值的向量 # make a vector with some NA values x = rnorm(100) x[sample(c(T, F), 100, prob =

我想得到向量(或数据帧的一列)中连续因子的差异。但我必须忽略此操作的NA值

difference <- abs(vector[i] - vector[i+1])

difference您可以使用
R
中的内置
diff
函数首先计算差异。这将返回一个包含一些
NA
值的向量(对应于
x
中的
NA
)。然后可以删除它们,留下一个只包含非NA值的向量

# make a vector with some NA values
x = rnorm(100)
x[sample(c(T, F), 100, prob = c(0.05, 0.95), replace=T)] = NA

# compute differences and take absolute value
d = abs(diff(x))
# remove na values
d2 = d[!is.na(d)]