【发布时间】:2018-05-03 08:11:49
【问题描述】:
我定义了以下函数,它计算一个周期内的工作日数。
library(tidyverse)
library(lubridate)
fx_weekdays <- function(start_date, end_date){
start_date <- as_date(start_date)
end_date <- as_date(end_date)
sum(!weekdays(seq(start_date, end_date, "days")) %in% c("Friday", "Saturday"))
}
接下来我想使用 map_int() 循环以下数据框,并添加一个新列来捕获结果。
df <- data.frame(start_date=c('2018-1-1','2018-2-1'),
end_date=c('2018-1-31','2018-2-28'))
df %>%
mutate(n_weekday = map_int(df, fx_weekdays(start_date, end_date)))
我收到一个错误。
mutate_impl(.data, dots) 中的错误:评估错误:'from' must 长度为 1。
我不知道我错过了什么,因为以下示例按预期工作。
fx_weekdays('2018-3-12', '2018-4-12')
【问题讨论】:
标签: r