在 tibble 中的多行上运行
function over multiple rows in tibble
我有以下示例数据:
library("tidyverse")
raw <- tibble(
emp_name = c("john"),
valid_from = c("2019-01-01"),
valid_to = c("2019-01-03")
)
当小标题中只有一行时,下面的代码有效:
raw <- raw %>%
mutate(periods = paste(c(seq(from = as.Date(valid_from), to = as.Date(valid_to),by = "days")), collapse = ', '))
但是,我需要使用支持更多行的函数。
尝试rowwise()
:
raw %>%
rowwise() %>%
mutate(periods =
paste(c(seq(from = as.Date(valid_from), to = as.Date(valid_to),by = "days")), collapse = ', '))
Source: local data frame [2 x 4]
Groups: <by row>
# A tibble: 2 x 4
emp_name valid_from valid_to periods
<chr> <chr> <chr> <chr>
1 john 2019-01-01 2019-01-03 2019-01-01, 2019-01-02, 2019-01-03
2 max 2019-01-02 2019-01-07 2019-01-02, 2019-01-03, 2019-01-04, 2019-01-05, 2019-01-06,~
我有以下示例数据:
library("tidyverse")
raw <- tibble(
emp_name = c("john"),
valid_from = c("2019-01-01"),
valid_to = c("2019-01-03")
)
当小标题中只有一行时,下面的代码有效:
raw <- raw %>%
mutate(periods = paste(c(seq(from = as.Date(valid_from), to = as.Date(valid_to),by = "days")), collapse = ', '))
但是,我需要使用支持更多行的函数。
尝试rowwise()
:
raw %>%
rowwise() %>%
mutate(periods =
paste(c(seq(from = as.Date(valid_from), to = as.Date(valid_to),by = "days")), collapse = ', '))
Source: local data frame [2 x 4]
Groups: <by row>
# A tibble: 2 x 4
emp_name valid_from valid_to periods
<chr> <chr> <chr> <chr>
1 john 2019-01-01 2019-01-03 2019-01-01, 2019-01-02, 2019-01-03
2 max 2019-01-02 2019-01-07 2019-01-02, 2019-01-03, 2019-01-04, 2019-01-05, 2019-01-06,~