# Examples of approaches to as.xts conversion
# For brevity use objects committed in as-xts branch of promR fork
devtools::source_url(
"https://raw.githubusercontent.com/konradzdeb/promR/as-xts/tests/testthat/helper-merticsRaw.R"
)
## SHA-1 hash of file is 89ebbb277f48d5f5cadd36156faefb1076f6655d
# Approach 1: Base --------------------------------------------------------
# Minimise dependencies on external functions and use base + standard functions
base_rng_mtr_xts <- function(x) {
Metrics_values <-
lapply(x$data$result$values, function(x)
as.double(x[, 2]))
Metrics_values <- do.call("cbind", Metrics_values)
Metrics_timestamps <- as.double(x$data$result$values[[1]][, 1])
Metrics <- cbind(Metrics_timestamps, Metrics_values)
metrics_labels <- x$data$result$metric$job
colnames(Metrics) <- c("timestamp", metrics_labels)
xts::as.xts(x = Metrics[, 2:ncol(Metrics)],
order.by = as.POSIXct(Metrics[, 1], origin = "1970-01-01"))
}
# Preview
summary(base_rng_mtr_xts(metricsRaw_range))
## Index prometheus pushgateway alertmanager
## Min. :2020-09-20 15:05:41 Min. :64.00 Min. :10.00 Min. :35.00
## 1st Qu.:2020-09-20 15:08:11 1st Qu.:66.00 1st Qu.:10.00 1st Qu.:35.00
## Median :2020-09-20 15:10:41 Median :68.00 Median :10.00 Median :35.00
## Mean :2020-09-20 15:10:41 Mean :67.38 Mean :10.18 Mean :35.15
## 3rd Qu.:2020-09-20 15:13:11 3rd Qu.:68.00 3rd Qu.:10.00 3rd Qu.:35.00
## Max. :2020-09-20 15:15:41 Max. :71.00 Max. :11.00 Max. :36.00
## node
## Min. : 8.000
## 1st Qu.: 9.000
## Median : 9.000
## Mean : 9.115
## 3rd Qu.: 9.000
## Max. :10.000
# Approach 2: no cbind ----------------------------------------------------
# Minimise dependencies on external functions and use base + standard fucntions
base_rng_mtr_xts_no_cbind <- function(x) {
Metrics_values <- lapply(x$data$result$values, function(x) as.double(x[, 2]))
Metrics_values <- do.call("cbind", Metrics_values)
Metrics_timestamps <- as.double(x$data$result$values[[1]][, 1])
metrics_labels <- x$data$result$metric$job
colnames(Metrics_values) <- c(metrics_labels)
xts::as.xts(x = Metrics_values,
order.by = as.POSIXct(Metrics_timestamps, origin = "1970-01-01"))
}
# Preview
summary(base_rng_mtr_xts_no_cbind(metricsRaw_range))
## Index prometheus pushgateway alertmanager
## Min. :2020-09-20 15:05:41 Min. :64.00 Min. :10.00 Min. :35.00
## 1st Qu.:2020-09-20 15:08:11 1st Qu.:66.00 1st Qu.:10.00 1st Qu.:35.00
## Median :2020-09-20 15:10:41 Median :68.00 Median :10.00 Median :35.00
## Mean :2020-09-20 15:10:41 Mean :67.38 Mean :10.18 Mean :35.15
## 3rd Qu.:2020-09-20 15:13:11 3rd Qu.:68.00 3rd Qu.:10.00 3rd Qu.:35.00
## Max. :2020-09-20 15:15:41 Max. :71.00 Max. :11.00 Max. :36.00
## node
## Min. : 8.000
## 1st Qu.: 9.000
## Median : 9.000
## Mean : 9.115
## 3rd Qu.: 9.000
## Max. :10.000
# Approach 3: tidyverse ---------------------------------------------------
# Approach uses tidyverse packages to provide faster way of manipulating data
# and time_tk for easy conversion to xts
library("tidyverse")
## ── Attaching packages ───────────────────────────────────────────────────────────────────────────────── tidyverse 1.3.0 ──
## ✓ ggplot2 3.3.2 ✓ purrr 0.3.4
## ✓ tibble 3.0.3 ✓ dplyr 1.0.2
## ✓ tidyr 1.1.2 ✓ stringr 1.4.0
## ✓ readr 1.3.1 ✓ forcats 0.5.0
## ── Conflicts ──────────────────────────────────────────────────────────────────────────────────── tidyverse_conflicts() ──
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
library("timetk")
tidy_rng_mtr_xts <- function(x) {
metric_timestamp <- as.POSIXct(as.double(x$data$result$values[[1]][,1]),
origin = "1970-01-01")
metric_values <- x$data$result$values
metric_values <- bind_cols(map(metric_values,
.f = ~ as.double(.x[, 2])), .name_repair = "unique")
metric_values <- bind_cols(metric_timestamp, metric_values)
names(metric_values) <- c("timestamp", x$data$result$metric$job)
tk_xts(metric_values)
}
# Preview
summary(tidy_rng_mtr_xts(metricsRaw_range))
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## Index prometheus pushgateway alertmanager
## Min. :2020-09-20 15:05:41 Min. :64.00 Min. :10.00 Min. :35.00
## 1st Qu.:2020-09-20 15:08:11 1st Qu.:66.00 1st Qu.:10.00 1st Qu.:35.00
## Median :2020-09-20 15:10:41 Median :68.00 Median :10.00 Median :35.00
## Mean :2020-09-20 15:10:41 Mean :67.38 Mean :10.18 Mean :35.15
## 3rd Qu.:2020-09-20 15:13:11 3rd Qu.:68.00 3rd Qu.:10.00 3rd Qu.:35.00
## Max. :2020-09-20 15:15:41 Max. :71.00 Max. :11.00 Max. :36.00
## node
## Min. : 8.000
## 1st Qu.: 9.000
## Median : 9.000
## Mean : 9.115
## 3rd Qu.: 9.000
## Max. :10.000
# Benchmark ---------------------------------------------------------------
rbenchmark::benchmark(base_rng_mtr_xts(metricsRaw_range),
base_rng_mtr_xts_no_cbind(metricsRaw_range),
tidy_rng_mtr_xts(metricsRaw_range),
replications = 1e2)
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## New names:
## * NA -> ...1
## * NA -> ...2
## * NA -> ...3
## * NA -> ...4
## New names:
## * NA -> ...1
## * ...1 -> ...2
## * ...2 -> ...3
## * ...3 -> ...4
## * ...4 -> ...5
## Warning: Non-numeric columns being dropped: timestamp
## Using column `timestamp` for date_var.
## test replications elapsed relative
## 2 base_rng_mtr_xts_no_cbind(metricsRaw_range) 100 0.040 1.000
## 1 base_rng_mtr_xts(metricsRaw_range) 100 0.043 1.075
## 3 tidy_rng_mtr_xts(metricsRaw_range) 100 0.980 24.500
## user.self sys.self user.child sys.child
## 2 0.040 0.000 0 0
## 1 0.043 0.000 0 0
## 3 0.975 0.006 0 0