【发布时间】:2020-05-27 16:19:53
【问题描述】:
我正在尝试使用 purr 包翻译这个基本的 for 循环。这个想法是应用一个使用数据框元素作为参数的函数。
使用来自ggplot2 的mpg 数据集创建要循环的数据框:
param <- mpg %>% select(manufacturer, year) %>% distinct() %>% rename(man = manufacturer, y = year)
要应用的函数:
fcn <- function(man, y) {
df <- mpg %>% filter(manufacturer == man & year == y)
mod <- lm(data = df, cty ~ hwy)
out <- summary(mod)
return(out)
}
以及为每个man 和y 组合应用fcn 的循环:
for (i in 1:nrow(param)) {
fcn(man = param$man[i],
y = param$y[i])
}
我对 purr 很陌生,并且很纠结 purr::map 的一般规范是如何工作的。 非常感谢。
编辑:
我在这里使用了fcn 和param 的一个非常基本的示例,以了解如何在地图规范中包含函数参数(来自param)。结果,我对事先的嵌套并不特别感兴趣,而只是使用 map 对循环进行枯燥的翻译,它可以适用于任何具有多个参数的函数之王。
【问题讨论】: