我正在浏览 padr 的文档:
https://cran.r-project.org/web/packages/padr/vignettes/padr.html
.
稍微更改小插图示例以zoo::na.approx()
在数据上使用线性插值 ( ) 会产生错误:
library(tidyverse)
library(padr)
library(zoo)
set.seed(123)
emergency %>%
filter(title == 'EMS: DEHYDRATION') %>%
thicken(interval = 'day') %>%
group_by(time_stamp_day) %>%
summarise(nr = n() + as.integer(runif(1, 1, 999)) ) %>%
pad()
结果是:
# A tibble: 307 × 2
time_stamp_day nr
<date> <int>
1 2015-12-12 79
2 2015-12-13 42
3 2015-12-14 NA
4 2015-12-15 NA
5 2015-12-16 NA
6 2015-12-17 NA
7 2015-12-18 88
8 2015-12-19 NA
9 2015-12-20 NA
10 2015-12-21 NA
# ... with 297 more rows
现在我想线性插值 42 到 88。我认为最好的方法是使用zoo::na.approx()
inside
padr::fill_by_function()
:
emergency %>%
filter(title == 'EMS: DEHYDRATION') %>%
thicken(interval = 'day') %>%
group_by(time_stamp_day) %>%
summarise(nr = n() + as.integer(runif(1, 1, 99)) ) %>%
pad() %>%
fill_by_function(nr, na.approx)
但我收到以下错误:
Error in inds[i] <- which(colnames_x == as.character(cols[[i]])) :
replacement has length zero
关于如何开始解决这个问题的任何想法?