当我们在这个场景中使用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]]
GG地块2
对象,但is返回:
list()
attr(,"class")
[1] "waiver"
当我直接调用函数时,它会给我一个
对象:
class(plot.fun(1,1)) # --> "gg" "ggplot"
如何调用plot函数并将实际绘图存储在列表中?为什么mapply不这么做呢?