【发布时间】:2019-08-27 14:46:05
【问题描述】:
我有一个非常大的数据集,其中的一个示例如下所示:
| Id | Name | Start_Date | End_Date |
|----|---------|------------|------------|
| 10 | Mark | 4/2/1999 | 7/5/2018 |
| 10 | | 1/1/2000 | 9/24/2018 |
| 25 | | 5/3/1968 | 6/3/2000 |
| 25 | | 6/6/2009 | 4/23/2010 |
| 25 | Anthony | 2/20/2010 | 7/21/2016 |
| 25 | | 9/12/2014 | 11/26/2019 |
我需要根据 Id 解析来自 Name 列的名称,以便输出表如下所示:
| Id | Name | Start_Date | End_Date |
|----|---------|------------|------------|
| 10 | Mark | 4/2/1999 | 7/5/2018 |
| 10 | Mark | 1/1/2000 | 9/24/2018 |
| 25 | Anthony | 5/3/1968 | 6/3/2000 |
| 25 | Antony | 6/6/2009 | 4/23/2010 |
| 25 | Anthony | 2/20/2010 | 7/21/2016 |
| 25 | Anthony | 9/12/2014 | 11/26/2019 |
如何实现如上所示的输出?我浏览了替代和解析函数,但无法理解它们如何应用于这个问题。
我的数据集是:
df=data.frame(Id=c("10","10","25","25","25","25"),Name=c("Mark","","","","Anthony",""),
Start_Date=c("4/2/1999", "1/1/2000","5/3/1968","6/6/2009","2/20/2010","9/12/2014"),
End_Date=c("7/5/2018","9/24/2018","6/3/2000","4/23/2010","7/21/2016","11/26/2019"))
【问题讨论】:
-
@AlexW 我已经纠正了错误
-
@akrun 我检查了尝试这两个代码。第一个给出错误:'arg' 应该是“down”,“up”之一,第二个不填写空白记录。
-
我使用的是
devel版本的tidyr。如果你使用的是普通的%>% fill(Name) %>% fill(Name, .direction = "up"),它可能有.direction = 'downup'
标签: r grouping gsub substitution