【发布时间】:2020-03-26 21:48:54
【问题描述】:
我想知道如何仅对 NA 进行子集化,不包括那些位于向量极端的 NA。
例如,
vector <- c(NA,NA,1,3,5,NA,3,NA,7,NA,NA,NA)
我怎样才能只对 NAs 向量[6] 和向量[8] 进行子集化?
非常感谢您的帮助!
【问题讨论】:
-
子集是什么意思?你能告诉我们你的预期输出吗?
我想知道如何仅对 NA 进行子集化,不包括那些位于向量极端的 NA。
例如,
vector <- c(NA,NA,1,3,5,NA,3,NA,7,NA,NA,NA)
我怎样才能只对 NAs 向量[6] 和向量[8] 进行子集化?
非常感谢您的帮助!
【问题讨论】:
获取非极端指数的一种方法是
non_NA_inds <- which(!is.na(vector))
NA_inds <- which(is.na(vector))
NA_inds[NA_inds > min(non_NA_inds) & NA_inds < max(non_NA_inds)]
#[1] 6 8
【讨论】:
你可以试试下面的代码
idx <- which(!is.na(vector))
res <- setdiff(min(idx):max(idx),idx)
给出:
> res
[1] 6 8
【讨论】: