当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R dtplyr replace_na.dtplyr_step 将 NA 替换为指定值


这是 tidyr replace_na() 泛型的方法。它被翻译为 data.table::fcoalesce()

请注意,与 tidyr::replace_na() 不同,data.table::fcoalesce() 无法替换列表中的 NULL 值。

用法

# S3 method for dtplyr_step
replace_na(data, replace = list())

参数

data

一个lazy_dt()

replace

如果 data 是 DataFrame ,则 replace 采用命名的值列表,其中每列有一个值需要替换缺失值。 replace 中的每个值都将转换为 data 中用作替换的列的类型。

如果data 是向量,则replace 采用单个值。该单个值替换向量中的所有缺失值。 replace 将转换为 data 的类型。

例子

library(tidyr)

# Replace NAs in a data frame
dt <- lazy_dt(tibble(x = c(1, 2, NA), y = c("a", NA, "b")))
dt %>% replace_na(list(x = 0, y = "unknown"))
#> Source: local data table [3 x 2]
#> Call:   copy(`_DT35`)[, `:=`(x = fcoalesce(x, 0), y = fcoalesce(y, "unknown"))]
#> 
#>       x y      
#>   <dbl> <chr>  
#> 1     1 a      
#> 2     2 unknown
#> 3     0 b      
#> 
#> # Use as.data.table()/as.data.frame()/as_tibble() to access results

# Replace NAs using `dplyr::mutate()`
dt %>% dplyr::mutate(x = replace_na(x, 0))
#> Source: local data table [3 x 2]
#> Call:   copy(`_DT35`)[, `:=`(x = fcoalesce(x, 0))]
#> 
#>       x y    
#>   <dbl> <chr>
#> 1     1 a    
#> 2     2 NA   
#> 3     0 b    
#> 
#> # Use as.data.table()/as.data.frame()/as_tibble() to access results
源代码:R/replace_na.R

相关用法


注:本文由纯净天空筛选整理自Hadley Wickham等大神的英文原创作品 Replace NAs with specified values。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。