R:用映射输出矩阵代替函数输出。

问题描述 投票:0回答:1

在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 才能正常工作?还是我需要使用其他东西?

r mapply
1个回答
0
投票

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

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

0
投票

一个选择是使用 Map

Map(plot.volcano.norm, data.list, title.list)
© www.soinside.com 2019 - 2024. All rights reserved.