【发布时间】:2019-06-02 17:16:57
【问题描述】:
我正在使用 lapply 来加速数据探索。我正在同时为数字变量制作箱线图,我想将变量名称传递到图中。
我已尝试定义名称并通过它。
library(ggplot2)
library(mass)
data(Boston)
num_vars = which(sapply(Boston, is.numeric))
ggBox <-function(index) {
X <- index
X_name <- names(index)
ggplot(Boston,aes("X",X)) + geom_boxplot() + ggtitle(X_name)
}
lapply(Boston[names(num_vars)],FUN=ggBox)
我已经尝试了不同的变体,它只是传递 X 或一个数值,没有名称。
【问题讨论】:
-
如果
ggBox将x和title作为其前两个参数,那么您可以使用Map(func, Boston[names(num_vars)], names(num_vars))。如果没有,那么您需要编写一个快速匿名函数,例如Map(function(x,nm) ggBox(x, title=nm), Boston[names(num_vars)], names(num_vars))。
标签: r