You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用mutate将tibble中的NaN替换为NA?

替换tibble中的NaN为NA(使用mutate)

首先加载所需包并定义原始数据:

library(tibble)
library(dplyr)

tbl = tibble(x = c(NaN, NaN, 2, 3, 4, NA, NA, NaN, 5))

方法1:使用na_if()(最简洁)

dplyr的na_if()函数专门用于将指定值替换为NA,直接匹配NaN即可,不会改动原本的NA:

tbl_cleaned <- tbl %>%
  mutate(x = na_if(x, NaN))

方法2:使用replace()

通过is.nan()识别NaN的位置,再用replace()替换为NA:

tbl_cleaned <- tbl %>%
  mutate(x = replace(x, is.nan(x), NA))

方法3:使用ifelse()

通过条件判断逐个处理元素:

tbl_cleaned <- tbl %>%
  mutate(x = ifelse(is.nan(x), NA, x))

验证处理后的结果:

print(tbl_cleaned)
#> # A tibble: 9 × 1
#>       x
#>   <dbl>
#> 1    NA
#> 2    NA
#> 3     2
#> 4     3
#> 5     4
#> 6    NA
#> 7    NA
#> 8    NA
#> 9     5

内容的提问来源于stack exchange,提问作者SiH

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 19:30:12