Отметьте поле ответа для @MrFlick. Я сделал это одновременно, и единственное отличие - это трубопровод:
library(magrittr)
strsplit(year, ":") %>%
lapply(as.integer) %>%
lapply(function(x) seq(x[1], x[length(x)])) %>%
unlist() %>%
hist()
Полный tidyverse
:
library(tidyverse)
str_split(year, ":") %>%
map(as.integer) %>%
map(~seq(.x[1], .x[length(.x)])) %>%
flatten_int() %>%
hist()
Чтобы защитить мои комментарии, следовательно, любые tidyverse
4eva люди присоединяются к драке:
library(tidyverse)
library(microbenchmark)
microbenchmark(
base = as.integer(
unlist(
lapply(
lapply(
strsplit(year, ":"),
as.integer
),
function(x) seq(x[1], x[length(x)])
),
use.names = FALSE
)
),
tidy = str_split(year, ":") %>%
map(as.integer) %>%
map(~seq(.x[1], .x[length(.x)])) %>%
flatten_int()
)
## Unit: microseconds
## expr min lq mean median uq max neval
## base 89.099 96.699 132.1684 102.5895 110.7165 2895.428 100
## tidy 631.817 647.812 672.5904 667.8250 686.2740 909.531 100