簡體   English   中英

在 R 中查找具有 NA 值的數值向量的子集

[英]Finding Subset of a numeric vector having NA values in R

x=c(NA,NA,NA,2,NA,3,NA). 

想要向量 (2,NA,3)

y=c(NA,1,NA)

然后想要向量(1)。

所以希望向量的子集具有從起點和終點的數值。

您可以定義您的自定義 function 如下所示進行子集化

f <- function(v) {
  r <- range(which(!is.na(v)))
  v[head(r,1):tail(r,1)]
}

例子

> x1=c(NA,NA,NA,2,NA,3,NA)

> x2=c(NA,NA,NA,2,NA,3,NA,5)

> x3=c(NA,NA,NA,2,NA,NA)

> f(x1)
[1]  2 NA  3

> f(x2)
[1]  2 NA  3 NA  5

> f(x3)
[1] 2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM