r - 如何停止 sapply 删除我的条形图标题?
问题描述
我想为我的数据集中的因子变量制作一个条形图。为此,我一直在运行sapply(data[sapply(data, class)=='factor'],function(x) barplot(table(x)))
。令我烦恼的是,这些图记住了它们的因子标签,但它们都没有保留标题。如何在不手动为每个图表命名的情况下解决此问题?
解决方案
怎么样
## 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()
推荐阅读
- java - 为什么使用 system.out.println 函数后 java 中没有输出?
- java - Java 进度条显示后端执行完成的时间
- spring - 如何为 OneToOne 关系设置值?
- javascript - 如何使用 JavaScript 将纪元时间戳转换为正常的日期时间格式?
- c - 变量看起来像一个函数指针
- java - Jar 没有在其他人的电脑上执行 [JDBC 外部 jar/maven 依赖问题,连接未建立]
- node.js - 在节点(快速)服务器中修改正文后是否可以重定向发布请求?
- node.js - 打包和解包要修补的 Electron Native 应用程序的 node_modules
- c# - 将路由和正文中的多个参数绑定到 ASP.NET Core 中的模型
- python - 如何在 Ursina Python 游戏引擎中添加延迟