首页 > 解决方案 > 如何并行化rollapply?

问题描述

我想并行化以下 rollapply 以使其更快:

rollapply 函数

euclidiansum <- function(x) sum(((standardize(x[,"Passenger.x"]) - standardize(x[,"Passenger.y"]))^2)) 

计算

tidyverse_rolling_euclidian <- pairwise_combos %>%
group_by(vehiculetype) %>%
tq_mutate(mutate_fun = rollapply,
          width      = 50,
          FUN        = euclidiansum,
          by.column  = FALSE,
          col_rename = "Euclidiansum")

示例数据(非常简化的示例)

df <- read.table(text = "
vehiculetype,  Passenger.x, Passenger.y
  1,  400,  700
  2, 420, 100
 2, 210, 300
 2,  100,  100
  2,  400, 100
 1,  800, 70
 1,  300, 40
  1,  10, 200
  1, 50,  10
 2, 90,  30",
sep = ",", header = TRUE)

你知道我怎样才能加快计算速度吗?

非常感谢。

标签: rdplyrquantmodrolling-computationrollapply

解决方案


推荐阅读