首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >R dataframe -如果lag值为NA,则采用上一步

R dataframe -如果lag值为NA,则采用上一步
EN

Stack Overflow用户
提问于 2019-05-24 22:52:29
回答 1查看 227关注 0票数 0

我的df如下所示

代码语言:javascript
运行
复制
df <- read.table(text="
  id           date           
  2              NA
  2      2018-11-01
  2              NA     
  2              NA 
  2      2019-11-01 
  2              NA  
  3      2018-01-01
  3              NA      
  3              NA    
  3              NA        
", header=TRUE)

我的目标是通过上面的值填充NAs。但是一旦值不是NA,那么我想用它填充下一个NAs。换句话说,结果应该是这样的:

代码语言:javascript
运行
复制
result <- read.table(text="
  id           date           
  2              NA
  2      2018-11-01
  2      2018-11-01     
  2      2018-11-01
  2      2019-11-01 
  2      2019-11-01  
  3      2018-01-01
  3      2018-01-01      
  3      2018-01-01    
  3      2018-01-01        
", header=TRUE)

注意,id 2的第一行是NA,并且由于它上面没有行,所以值仍然是NA,

EN

回答 1

Stack Overflow用户

发布于 2019-05-24 22:59:11

一个选项是fill

代码语言:javascript
运行
复制
library(dplyr)
df %>% 
    group_by(id) %>% 
    fill(date)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56295080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档