【发布时间】:2017-04-27 13:18:53
【问题描述】:
我想了解如何使用 apply 函数或任何类似函数来绘制数据框的多个子集的图。假设我想使用 mtcars 数据框,并且我想为“gear”和“carb”的每个组合绘制一个图。
我读到here,可以只编写一个函数,然后使用 lapply 创建数据框的子集并为每个子集绘制图。那么我如何重写它以使用 lapply 或类似的东西?
gg_test = function(data) {
title = paste("gear",data[,"gear"][1],"carb",data[,"carb"][1])
require(ggplot2)
gg1 = ggplot(data, aes(x = mpg, y = cyl, color = disp)) + geom_point() +
ggtitle(title)
print(gg1)
}
for (g in unique(mtcars[,"gear"])){
for(ca in unique(mtcars[,"carb"])){
df_sub = subset(mtcars, gear == g & carb == ca)
gg_test(df_sub)
}
}
【问题讨论】:
标签: r function loops plot apply