【问题标题】:Subset NAs between values值之间的子集 NA
【发布时间】: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] 进行子集化?

非常感谢您的帮助!

【问题讨论】:

  • 子集是什么意思?你能告诉我们你的预期输出吗?

标签: r subset na


【解决方案1】:

获取非极端指数的一种方法是

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

【讨论】:

    【解决方案2】:

    你可以试试下面的代码

    idx <- which(!is.na(vector))
    res <- setdiff(min(idx):max(idx),idx)
    

    给出:

    > res
    [1] 6 8
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-27
      • 1970-01-01
      • 1970-01-01
      • 2020-04-09
      • 2019-03-19
      • 1970-01-01
      • 1970-01-01
      • 2017-04-30
      相关资源
      最近更新 更多