當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


R dplyr coalesce 找到第一個非缺失元素


給定一組向量,coalesce() 找到每個位置的第一個非缺失值。它的靈感來自 SQL COALESCE 函數,該函數對 SQL NULL 執行相同的操作。

用法

coalesce(..., .ptype = NULL, .size = NULL)

參數

...

<dynamic-dots>

一個或多個向量。這些將是recycled 相互對抗,並將被轉換為它們的共同類型。

.ptype

聲明所需輸出類型的可選原型。如果提供,它將覆蓋 ... 中向量的公共類型。

.size

聲明所需輸出大小的可選大小。如果提供,這將覆蓋 ... 中向量的通用大小。

... 中向量的公共類型和公共大小具有相同類型和大小的向量。

也可以看看

na_if()NA 替換指定值。 tidyr::replace_na()NA 替換為值。

例子

# Use a single value to replace all missing values
x <- sample(c(1:5, NA, NA, NA))
coalesce(x, 0L)
#> [1] 2 0 3 4 0 5 1 0

# The equivalent to a missing value in a list is `NULL`
coalesce(list(1, 2, NULL), list(NA))
#> [[1]]
#> [1] 1
#> 
#> [[2]]
#> [1] 2
#> 
#> [[3]]
#> [1] NA
#> 

# Or generate a complete vector from partially missing pieces
y <- c(1, 2, NA, NA, 5)
z <- c(NA, NA, 3, 4, 5)
coalesce(y, z)
#> [1] 1 2 3 4 5

# Supply lists by splicing them into dots:
vecs <- list(
  c(1, 2, NA, NA, 5),
  c(NA, NA, 3, 4, 5)
)
coalesce(!!!vecs)
#> [1] 1 2 3 4 5
源代碼:R/coalesce.R

相關用法


注:本文由純淨天空篩選整理自Hadley Wickham等大神的英文原創作品 Find the first non-missing element。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。