有没有一种巧妙的(即不使用循环)方法来获取向量中每个缺失值序列的长度? 我理想的输出是一个相同长度的向量,其中每个缺失值被替换为其所属的缺失值序列的长度,所有其他值都是0。
因此,对于像这样的输入:
我希望能够得到以下输出:
因此,对于像这样的输入:
x <- c(2,6,1,2,NA,NA,NA,3,4,NA,NA)
我希望能够得到以下输出:
y <- c(0,0,0,0,3,3,3,0,0,2,2)
rep(rle(is.na(x))$value * rle(is.na(x))$length, rle(is.na(x))$length)
。这也是有效的。 - JasonWang