【发布时间】:2020-03-28 01:11:05
【问题描述】:
我有以下三个参数:
a <- c("brown", "red", "purple", "yellow", "blue", "green")
b <- c("unknown", "medium", "low", "high")
c <- c("group1", "group2")
我想遍历每个参数组合,以获得这些参数的名称列表。结果应如下所示:
$plot_group1_unknown_brown
[1] "plot_group1_unknown_brown"
$plot_group2_unknown_brown
[1] "plot_group2_unknown_brown"
$plot_group1_medium_brown
[1] "plot_group1_medium_brown"
$plot_group2_medium_brown
[1] "plot_group2_medium_brown"
$plot_group1_low_brown
[1] "plot_group1_low_brown"
.
.
.
现在我想使用任何 apply 系列函数或除 for 循环之外的任何方法来实现此目的。我可以使用这样的 for 循环来完成此操作:
for (x in a) {
for (a in b) {
for (i in c) {
plot_name <- paste( 'plot', i, a, x, sep = '_' )
plot_list[[plot_name]] <- plot_name
}
}
}
我还想指出,这只是一个示例。在我的实际用例中,plot_name(在 RHS 上)将是一个函数,它采用与上面 paste() 函数内部使用的参数相同的参数。类似于plot_list[[plot_name]] <- some_plotting_function(x, i, a) 的内容,结果将是 ggplot2 对象的列表。
【问题讨论】: