发现一个整数序列,其中除一个值外的所有值都被 NA 屏蔽

uncover an integer sequence where all but one values are masked by NA's

假设我有一个整数向量,其中除一个条目外的所有条目都被 NA 屏蔽,

x <- c(NA, NA, 5, NA)

有没有办法揭开那些 NA 的面纱(通过就地修改 NA 或创建新向量)?我想要的输出是

c(3, 4, 5, 6)

可能是

id <- which(!is.na(x))
newx <- seq_along(x) + (x[id] - id)

这适用于您的 所有 NA,但只有一个值 向量。