首页 > 解决方案 > R:mapply 输出矩阵而不是函数输出

问题描述

在 R 中,我有一个函数 ( plot.volcano.norm),它使用 ggplot2 从数据框中绘制数据。它需要两个输入:带有数据的数据框和一个字符向量。因为我有多个要从中绘制数据的数据框,所以我在一个列表 ( data.list) 中有多个数据框,还有一个向量 ( title.list),其中包含函数正常工作所需的字符元素(每个数据一个框架)。

当我运行以下命令时:

plot.volcano.norm(data.list[[1]],title.list[1])

我得到了第一个数据帧的正确图data.list现在,我想为data.list. 为此,我使用了

mapply(plot.volcano.norm, data.list, title.list)

但现在输出是一个矩阵:

            [,1]    [,2]   
data        List,12 List,16
layers      List,3  List,3 
scales      ?       ?      
mapping     List,2  List,2 
theme       List,93 List,93
coordinates ?       ?      
facet       ?       ?      
plot_env    ?       ?      
labels      List,6  List,6 
guides      List,2  List,2

我已经检查过了?mapply,但我不知道我做错了什么。我怎样才能mapply正常工作?还是我需要使用其他东西?

标签: rmapply

解决方案


默认情况下,SIMPLIFY = TRUE它输出一个矩阵。尝试:

mapply(plot.volcano.norm, data.list, title.list, SIMPLIFY = FALSE)

推荐阅读