可能有三种广泛的方法:
- 来自包的命令,例如
hist.data.frame()
- 循环变量或类似的宏结构
- 堆叠变量和使用构面
Packages
其他可能有用的命令:
library(plyr)
library(psych)
multi.hist(mpg) #error, not numeric
multi.hist(mpg[,sapply(mpg, is.numeric)])
也许multhist
from plotrix
,我还没有探索过。它们都没有提供我所寻求的灵活性。
Loops
作为 R 初学者,每个人都建议我远离循环。所以我这样做了,但也许这里值得一试。任何建议都非常受欢迎。也许您可以评论如何将图表合并到一个文件中。
Stacking
我的第一个怀疑是堆叠变量可能会失控。然而,对于一组合理的变量来说,这可能是最佳策略。
我想出的一个例子使用melt
功能。
library(reshape2)
mpgid <- mutate(mpg, id=as.numeric(rownames(mpg)))
mpgstack <- melt(mpgid, id="id")
pp <- qplot(value, data=mpgstack) + facet_wrap(~variable, scales="free")
# pp + stat_bin(geom="text", aes(label=..count.., vjust=-1))
ggsave("mpg-histograms.pdf", pp, scale=2)
(如您所见,我尝试在条形上放置值标签以提高信息密度,但效果不太好。x 轴上的标签也不太理想。)
这里没有完美的解决方案,也不存在放之四海而皆准的命令。但也许我们可以更轻松地探索新的数据集。