在这种情况下使用mapply时,它将返回将x
和y
相乘得到的实际数字:
mult.fun <- function(x, y) {
x*y
}
res <- mapply(mult.fun, seq(1,3), seq(1,3)) # gives > 1 4 9
然后我们可以稍后使用列表索引访问结果:
res[[1]] # --> 1 (or just res[1])
我想做的是相同的,而不是我想存储ggplot2
对象的数字:
plot.fun <- function(x, y) {
ggplot(data = NULL, aes(x,y)) + geom_point()
}
res <- mapply(plot.fun, seq(1,3), seq(1,3))
我认为这会简单地存储类似于数字的结果,这样res[[1]]
会给我一个ggplot2
对象,但是会返回以下内容:
list()
attr(,"class")
[1] "waiver"
当我直接调用该函数时,它将给我一个ggplot2
对象:
class(plot.fun(1,1)) # --> "gg" "ggplot"
如何调用图函数并将实际图存储在列表中?为什么不进行mapply操作?