【问题标题】:R: mapply outputs matrix instead of function outputR:mapply 输出矩阵而不是函数输出
【发布时间】:2020-06-06 16:36:39
【问题描述】:

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

当我运行以下命令时:

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

我得到了data.list 中第一个数据框的正确图。现在,我想为data.list 中的all 元素运行该函数。为此,我使用了

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】:

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

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

【讨论】:

    【解决方案2】:

    一个选项是使用Map

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多