【发布时间】:2021-12-09 05:12:22
【问题描述】:
我有一个简单的 data_frame,如下所示:
块引用
timestamp H_crops H_Tower
1 2021-01-01 00:00:00 0.1000000 2.1
2 2021-01-01 00:30:00 0.1000076 NA
3 2021-01-01 01:00:00 0.1000152 NA
4 2021-01-01 01:30:00 0.1000227 NA
5 2021-01-01 02:00:00 0.1000303 3
6 2021-01-01 02:30:00 0.1000379 NA
7 2021-01-01 03:00:00 0.1000455 NA
8 2021-01-01 03:30:00 0.1000530 NA
9 2021-01-01 04:00:00 0.1000606 10
10 2021-01-01 04:30:00 0.1000682 NA
Blockquote
我想得到以下结果:
timestamp H_crops H_Tower diff
1 2021-01-01 00:00:00 0.1000000 2.1 2.1 2 2021-01-01 00:30:00 0.1000076 NA 2.1 3 2021-01-01 01:00:00 0.1000152 NA 2.1 4 2021-01-01 01:30:00 0.1000227 NA 2.1 5 2021-01-01 02:00:00 0.1000303 3 3 6 2021-01-01 02:30:00 0.1000379 NA 3 7 2021-01-01 03:00:00 0.1000455 NA 3 8 2021-01-01 03:30:00 0.1000530 NA 3 9 2021-01-01 04:00:00 0.1000606 10 10 10 2021-01-01 04:30:00 0.1000682 NA 10
我用 dplyr 试试这个:
group_by(timestamp)
arrange(timestamp)
mutate(data_glob3, diff= ifelse ( is.na(data_glob3[,"H_Tower"]),lag(H_Tower),data_glob3[,"H_Tower"]))
但结果并不好。它应该使用 diff 的滞后,但这是不可能的。 你能帮帮我吗? 非常感谢!
【问题讨论】:
-
试试 tidyr::fill()