[英]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.