我正在尝试生成一个图形对象列表(grobs),适合传递给 gridExtra::grid.arrange (或者如果更容易的话,可以使用一些 ggequivalent )。我重新起草了我的示例,以消除@MrFlick 和@Ronak Shah 友好指出的多个问题。但是,我仍然收到相同的错误消息:
Error in .f(.x[[i]], ...) : unused argument (NULL)
(而且我没有得到一个谷歌点击“ unused argument (NULL)
” r
| purrr
。我找到的最接近的是unused argument (.null = NA)
。)
acf
每个对象是一组四个图(绘制在一起),作为or函数的副作用输出pacf
,显示两个变量之间的自相关和自协方差及其各种滞后。我正在尝试编写一个函数,该函数将采用 tsibble、来自该 tsibble 的自变量列名的向量以及单个结果变量的名称(也是输入 tsibble 中的列),并使用 purrr取acf
或pacf
由单个名称与每个指定列定义的变量对,将绘图转换为 grob,并输出 grobs 列表。
这是我的非工作功能,acf 版本:
acf_grobs <- function(dat., mod_nms, outcome){
depend <- select(dat., all_of(mod_nms))
out <- map(depend, ~ grob(acf(x=cbind(.x, y))), y = dat.[[outcome]])
out
}
还有一个可重现的例子:
library(tidyverse)
library(fpp3)
我知道这加载的包比本示例所需的要多得多,但我加载所有这些包是出于其他原因。
aa <- 1:4
bb <- 1:4
cc <- 1:4
day <- 1:4
tb <- tibble(aa, bb, cc, day)
tsb <- as_tsibble(tb, index = day)
var_of_interest <- "aa"
mod.nms <- c("bb", "cc")
pacf_grobs(dat. = tsb, mod_nms = mod.nms, outcome = var_of_interest)
我仍然相信错误消息是由于我未能正确地将单个参数传递outcome
给 purrr::map 的函数参数引起的,尽管这种信念动摇了,因为我现在以不同的方式传递它,并且仍然得到相同的错误消息。