R:mapply输出矩阵而不是函数输出
R: mapply outputs matrix instead of function output
在 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
正常工作?或者我需要使用其他东西吗?
默认情况下,SIMPLIFY = TRUE
输出一个矩阵。尝试:
mapply(plot.volcano.norm, data.list, title.list, SIMPLIFY = FALSE)
一个选项是使用 Map
Map(plot.volcano.norm, data.list, title.list)
在 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
正常工作?或者我需要使用其他东西吗?
默认情况下,SIMPLIFY = TRUE
输出一个矩阵。尝试:
mapply(plot.volcano.norm, data.list, title.list, SIMPLIFY = FALSE)
一个选项是使用 Map
Map(plot.volcano.norm, data.list, title.list)