R 为什么mapply不在输出中存储ggplot对象
在本场景中使用mapply时,它将返回相乘R 为什么mapply不在输出中存储ggplot对象,r,ggplot2,mapply,R,Ggplot2,Mapply,在本场景中使用mapply时,它将返回相乘x和y得到的实际数字: mult.fun <- function(x, y) { x*y } res <- mapply(mult.fun, seq(1,3), seq(1,3)) # gives > 1 4 9 我想做同样的事情,但是我想存储的不是数字而是ggplot2对象: plot.fun <- function(x, y) { ggplot(data = NULL, aes(x,y)) + geom_point(
x
和y
得到的实际数字:
mult.fun <- function(x, y) {
x*y
}
res <- mapply(mult.fun, seq(1,3), seq(1,3)) # gives > 1 4 9
我想做同样的事情,但是我想存储的不是数字而是ggplot2
对象:
plot.fun <- function(x, y) {
ggplot(data = NULL, aes(x,y)) + geom_point()
}
res <- mapply(plot.fun, seq(1,3), seq(1,3))
当我直接调用函数时,它将给我一个ggplot2
对象:
class(plot.fun(1,1)) # --> "gg" "ggplot"
如何调用plot函数并将实际绘图存储在列表中?为什么mapply不这样做呢?
SIMPLIFY=FALSE
使用默认值SIMPLIFY=FALSE
的Map
。可能是重复的:和/或谢谢,这很容易修复。。。哈哈@user20650@CodeNoob ; 干杯,当其他答案提供相同的解决方案时,我将以dup的形式结束此问题
list()
attr(,"class")
[1] "waiver"
class(plot.fun(1,1)) # --> "gg" "ggplot"