【发布时间】:2021-12-03 05:18:14
【问题描述】:
我已经做了我自己的功能:
n_hires <- function(data, year) {
data %>%
filter(year(DateofHire) == year) %>%
nrow()
}
我想传递给我编写的另一个函数:
df_count <- function(data, f) {
map_dbl(years, ~ .f(data = .data, year = .x)) %>%
setNames(years) %>%
as.data.frame() %>%
setNames("n") %>%
rownames_to_column("Year")
}
当我运行函数时:
df_count(data = df, .f = n_hires)
返回:
> df_count(data = df, .f = n_hires)
Error in df_count(data = df, .f = n_hires) :
unused argument (.f = n_hires)
如何将函数传递给函数?
【问题讨论】:
-
df_count中没有years的输入 -
你需要
df_count <- function(data, years, f) { map_dbl(years, ~ f(data = data, year = .x)) %>% setNames(years) %>% as.data.frame() %>% setNames("n") %>% rownames_to_column("Year")} -
天哪……你又说对了。我需要休息一下,谢谢……@akrun