Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 最高观测值结转_R - Fatal编程技术网

R 最高观测值结转

R 最高观测值结转,r,R,我试图将向量中的最高观察值向前推进,同时替换NAs和任何低于上一次最高观察值的值。例如 c(1,2,3,NA,NA,2,NA,NA,4,NA,NA) 将成为 c(1,2,3,3,3,3,3,3,4,4,4) 以矢量化方式执行此操作的最佳方式是什么?x矢量化?它必须是迭代的,我不认为这可以并行化。出色地使用-Inf和cummax,第三步得到所需的输出,没有-Inf实例保留,第四步有什么具体原因吗step@Osssan向量开头可能有NA值。如果执行该步骤,您将获得可能不需要的-Inf值。 x &

我试图将向量中的最高观察值向前推进,同时替换NAs和任何低于上一次最高观察值的值。例如

c(1,2,3,NA,NA,2,NA,NA,4,NA,NA)
将成为

c(1,2,3,3,3,3,3,3,4,4,4)

以矢量化方式执行此操作的最佳方式是什么?

x矢量化?它必须是迭代的,我不认为这可以并行化。出色地使用
-Inf
cummax
,第三步得到所需的输出,没有
-Inf
实例保留,第四步有什么具体原因吗step@Osssan向量开头可能有
NA
值。如果执行该步骤,您将获得可能不需要的
-Inf
值。
x <- c(1,2,3,NA,NA,2,NA,NA,4,NA,NA)
y <- x
y[is.na(y)] <- -Inf
y <- cummax(y)
y[y == -Inf] <- NA
#[1] 1 2 3 3 3 3 3 3 4 4 4