美文网首页
填充NA值为上一个数值

填充NA值为上一个数值

作者: 欧阳松 | 来源:发表于2022-02-26 18:13 被阅读0次

有时候处理Excel数据时会出现很多NA值,比如将多行数据合并的时候,导入R里面就会发现NA值,对于NA值的填充有很多办法,这里介绍自动填充为上一行的数值,使用的tidyverse包和zoo包分别演示,但我认为方便的是zoo包。

先构建一个数据

td <- data.frame("State" = c("NY", "","", "OH","", ""),
                 "Your" = c(101:106), "Name" = c(5:6,"",8:9,"")
                 )
State Your Name
NY 101 5
NA 102 6
NA 103 NA
OH 104 8
NA 105 9
NA 106 NA

首先是tidyverse包,演示填充State列的NA值为上一个数据

library(tidyverse)
td %>% 
   mutate(State = na_if(State, "")) %>%
   fill(State)
State Your Name
NY 101 5
NY 102 6
NY 103 NA
OH 104 8
OH 105 9
OH 106 NA

可以发现,State列的NA值已经填充为上一行的数据,但是Name列还差点意思,这时候我们需要用到zoo包,首先我们要将""替换成NA,然后使用zoo一步替换为上一数据(这里要注意,如果不将''替换成NA,将会填充不完全)

我们分别演示一下,首先是不替换NA,直接运行函数

zoo::na.locf(td)
State Your Name
NY 101 5
NA 102 6
NA 103 NA
OH 104 8
NA 105 9
NA 106 NA

可以发现一点都没有替换,接下来将''替换成NA

td[td=='']=NA
zoo::na.locf(td)
State Your Name
NY 101 5
NY 102 6
NY 103 6
OH 104 8
OH 105 9
OH 106 9

完美解决所有列的NA值

相关文章

  • 填充NA值为上一个数值

    有时候处理Excel数据时会出现很多NA值,比如将多行数据合并的时候,导入R里面就会发现NA值,对于NA值的填充有...

  • R语言-06.1缺失值处理

    删除NA 用某个值填充 1.NA处理成0 2.用平均值填充 NA与NAN NA代表当数据不可得到或者丢失 NAN代...

  • R计算median的结果为NA

    明明向量为数值型,为什么median结果为NA呢? 计算median结果为NA,是因为向量中含有NA

  • R语言-指定列缺失值定值填充

    Men[is.na(Men[,15]),15] <- 0 代码意思:将数据集Men的第15列中的缺失值都填充为0 ...

  • 121、处理缺失数据

    处理缺失数据 滤除缺失数据 填充缺失数据 如果全为NA值则插值方法不起作用。 源码:

  • 缺失值的基本处理及可视化

    PART I 缺失值的基本操作 基本处理 NA 不可以和0进行比较NA 也不可以和其它数值比较函数is.na可以用...

  • el-radio与v-for嵌套循环

    需求描叙:1、参数值为单选按钮框2、如果只有一个参数,默认填充参数值3、多个值用英文逗号隔开,支持输入编辑 踩坑:...

  • 9、pandas的填充缺失值fillna()和inplace函数

    在数据集里面的缺失值需要填充起来,避免各种出错。 fillna可以指定数值进行填充,也可以使用计算公式进行填充,比...

  • R - NA处理和数据标准化

    NA值处理 数据NA值查看 NA值处理 直接删掉含NA的那行 用某值将其替换掉,如0 通过探索相关性将NA值填补上...

  • NA值的填充丨数析学院

    问题 在R中,如何用非NA值替换向量或因素型变量中的NA值? 指南 下列代码将会告诉我们如何填补向量中的空缺,如果...

网友评论

      本文标题:填充NA值为上一个数值

      本文链接:https://www.haomeiwen.com/subject/xkuuoltx.html