矢量化seq R.

时间:2017-05-20 08:18:38

标签: r purrr

我想在两个日期之间生成一系列时间戳

所以测试框架是:

library(dplyr)
library(lubridate)
library(purrr)
library(tibble)

 test <- tibble(category = c('a', 'b', 'a'),
           start=c('2016-01-01 00:00:10', 
                   '2016-02-01 00:00:20',
                   '2016-03-01 00:00:30'),
           end = c('2016-01-01 00:01:00', 
                   '2016-02-01 00:02:00',
                   '2016-03-01 00:03:00')) %>%
       mutate(start = ymd_hms(start),
              end = ymd_hms(end) )

我想跑:

seq(start, end, by=10)
每行

并在一个数据框中有一个序列,因此结果如下:

category | timestamp
   a     | 2016-01-01 00:00:10
   a     | 2016-01-01 00:00:20
   a     | 2016-01-01 00:00:30

表示每一行及其全部rbind 我有超过30000行,所以for循环不会那么好。

我尝试使用purrr

gg <- test %>%
  purrr::map( seq(start, end, by=10) )

但这似乎不起作用?

1 个答案:

答案 0 :(得分:3)

我们可以单独使用@implementation BAppTabBarController - (IBAction)closeButtonPressed:(id)sender { [self dismissViewControllerAnimated:true completion:nil]; } @end

执行此操作
dplyr

或使用library(dplyr) test %>% group_by(category, n = row_number()) %>% do(data.frame(Seq = seq(.$start, .$end, by = 10))) %>% ungroup() %>% select(-n)

中的map
purrr