首页 > 解决方案 > 无法在 R 版本 4.1.0 上使用 timetk 将双向量转换为函数

问题描述

当我在我的 R 版本 4.1.0 中使用 timetk 库中的 tk_augment_slidify 函数时遇到问题 - (下面的代表) - 但是,当我在 Rmarkdown 上运行相同的代码时,它可以正常工作。有人可以帮忙解决这个问题吗?- 显示以下错误 -

“错误:无法将双向量转换为函数”

样本数据 :

purchased_at|revenue
2018-06-03  |32735.89
2018-06-10  |38290.07
2018-06-17  |39973.95
2018-06-24  |35621.93
2018-07-01  |28983.72 

标准化和记录转换数据并创建滞后

transformed_transdata <- 
transdata %>% 
  mutate(revenue = log(revenue),
         revenue = standardize_vec(revenue))
transformed_transdata %>% 
  bind_rows(
    future_frame(.data = .,
                 .date_var = purchased_at,
                 .length_out = 8)
  ) %>% 
  tk_augment_lags(.data = .,
                  .value = revenue,
                  .lags = 8) %>% 
  tk_augment_slidify(.data = .,
                     .value = revenue_lag8,
                     .f = mean,
                     .period = 8)
sessionInfo(package = c("tidyverse","timetk","dplyr"))
#> R version 4.1.0 (2021-05-18)
#> Platform: x86_64-w64-mingw32/x64 (64-bit)
#> Running under: Windows 10 x64 (build 18363)
#> other attached packages:
#> [1] tidyverse_1.3.1 timetk_2.6.1    dplyr_1.0.7  
>        knitr_1.33 

标签: rdplyrtime-seriestidyverse

解决方案


我最好的猜测是您已将一些数字保存到名为 mean 的变量中。例如,在tk_augment_slidify函数中mean可能保存为一些数值,所以tk_augment_slidify函数是获取数值而不是base::mean函数


推荐阅读