我有一个包含2020年1月5日至2022年12月25日每周观测数据的数据集,如下所示:
datetime NO3 NO1 NO2 NO5 NO4 fyllingsgrad
<date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 2020-11-29 0.930 0.972 0.978 0.932 0.903 0.972
2 2021-01-03 0.770 0.821 0.884 0.769 0.785 0.821
3 2020-04-26 0.264 0.196 0.483 0.268 0.322 0.196
4 2021-05-09 0.253 0.151 0.453 0.185 0.430 0.151
5 2021-10-03 0.708 0.761 0.550 0.588 0.809 0.761
6 2022-03-13 0.364 0.190 0.311 0.242 0.505 0.190
7 2021-01-17 0.671 0.698 0.814 0.667 0.730 0.698
8 2021-07-11 0.724 0.772 0.667 0.593 0.731 0.772
9 2020-12-27 0.813 0.862 0.909 0.808 0.811 0.862
10 2021-06-20 0.693 0.717 0.659 0.506 0.648 0.717
我需要将NO2变量从每周的时间分辨率内插到每小时。有人知道如何做到这一点吗?
我尝试了多种方法,但都不起作用。下面的代码是一个示例:
hour_dat <- data.frame(
datetime = seq(as.POSIXct("2020-01-05"), as.POSIXct("2022-12-25"), by = "1 hour")
)
new_interp <- hour_dat %>%
mutate(NO2_interp = approx(x = mag_data$datetime, y = mag_data$NO2, xout = datetime, method = "linear")$y)
1条答案
按热度按时间oyxsuwqo1#
approx
只进行插值,而不进行外推,因此hour_dat
只能在dat
的范围内(真实的数据可能就是这种情况)。datetime
应该与POSIXct
相同。只需将merge
放在dat
之上,然后使用approx in an
lapply '。注意,这是“线性”插值。
给予
我们可以通过图形快速检查