【发布时间】:2018-06-07 11:52:43
【问题描述】:
我有一个这样的 df:
Codigo time date
1 1001 8.77 2017-01-02
2 1001 8.96 2017-01-03
3 1001 9.56 <NA>
4 1001 7.81 2017-01-05
5 1001 0.00 2017-01-06
6 1001 9.58 2017-01-09
7 1001 9.64 2017-01-10
8 1001 12.11 <NA>
9 1005 6.86 <NA>
10 1005 6.81 2017-05-04
11 1005 6.83 2017-05-05
12 1005 6.86 2017-05-08
13 1005 6.90 2017-05-09
14 1005 6.42 <NA>
所有的星期三都是 NA。有几个不同的代码,每个代码可能有不同的顺序(即:工人 1001 可能在 2017 年 2 月 1 日开始,工人 1005 可能在 2017 年 3 月 5 日开始。
我想将这个 NA 替换为逻辑日期。
我想知道,如果下一个寄存器具有相同的代码,解决方案可能会分配负 1 之前的日期,否则它可以在日期加 1 之前分配寄存器。没有任何代码只有一个注册。
提前致谢。
数据
df <- data.frame(
Codigo = c(1001L, 1001L, 1001L, 1001L, 1001L, 1001L, 1001L, 1001L, 1005L,
1005L, 1005L, 1005L, 1005L, 1005L),
time = c(8.77, 8.96, 9.56, 7.81, 0, 9.58, 9.64, 12.11, 6.86, 6.81,
6.83, 6.86, 6.9, 6.42),
date = c("2017-01-02", "2017-01-03", NA, "2017-01-05", "2017-01-06",
"2017-01-09", "2017-01-10", NA, NA, "2017-05-04",
"2017-05-05", "2017-05-08", "2017-05-09", NA)
)
【问题讨论】:
-
你能添加你想要的输出吗?
标签: r date conditional na