首页 > 解决方案 > 如何停止 sapply 删除我的条形图标题?

问题描述

我想为我的数据集中的因子变量制作一个条形图。为此,我一直在运行sapply(data[sapply(data, class)=='factor'],function(x) barplot(table(x)))。令我烦恼的是,这些图记住了它们的因子标签,但它们都没有保留标题。如何在不手动为每个图表命名的情况下解决此问题?

目前,我得到幽默模糊的无标题图表,如下所示:在此处输入图像描述

标签: rplotapplytitle

解决方案


怎么样

## extract names
fvars <- names(data)[which(sapply(data,inherits,"factor"))]
## apply barplot() with main=
lapply(fvars, function(x) barplot(table(data[[x]]), main=x))

?

示例数据:

data <- mtcars
for (i in c("vs","am","gear","carb")) data[[i]] <- factor(data[[i]])

请注意,这会一次创建所有图。如果您在具有绘图历史记录(RStudio 或 RGui)的 GUI 中工作,则可以翻页查看图形。否则,您可能希望在par(mfrow=c(nr,nc))开始之前使用(填写行数和列数)设置子图。

返回的数字是条形中点(请参阅?barplot):如果您不想看到它们,可以将barplot()调用包含在内。invisible()


推荐阅读