【发布时间】:2016-07-15 12:46:45
【问题描述】:
假设我有以下数据,并且有兴趣按日期获取类型为“ts”的数据。当然,有些日期 ts 不可用,我需要恢复这些日期的“真实”值。
dat = data.frame(dte = c("2011-01-01","2011-02-01","2011-03-01","2011-04-01","2011-05-01",
"2011-01-01","2011-02-01","2011-03-01"),
type = c("real","real","real","real","real","ts","ts","ts"),
value=rnorm(8))
dat
cpy = dat %>% dplyr::filter(type == "ts")
cpy
如何在 dplyr 中完成类似的操作。
预期输出是:
dte type value
"2011-01-01" ts ....
"2011-02-01" ts
"2011-03-01" ts
"2011-04-01" real
"2011-05-01" real
【问题讨论】:
-
您的预期输出是什么?您是否有类型为“ts”的 dte 的 NA 值。在这种情况下,请展示一个可重现的示例
-
但您的预期输出还显示
real为type -
已添加。并且没有 NA 值,只是缺少不存在的日期值。
-
是的,如果 ts 可用,请使用它。否则,使用实际值。
-
我发布了一个解决方案。请检查这是否是您想要的。 “价值”列呢?对于“真实”,它仍然是 NA 吗?
标签: r