可能有三种广泛的方法:
- 来自软件包的命令,例如
hist.data.frame()
- 循环变量或类似的宏结构
- 堆叠变量和使用构面
套餐
其他可能有用的可用命令:
library(plyr)
library(psych)
multi.hist(mpg) #error, not numeric
multi.hist(mpg[,sapply(mpg, is.numeric)])
或者可能multhist
来自plotrix
,我还没有探索过。它们都没有提供我一直在寻找的灵活性。
循环
作为 R 初学者,每个人都建议我远离循环。所以我做到了,但也许在这里值得一试。任何建议都非常受欢迎。也许您可以评论如何将图形组合到一个文件中。
堆叠
我的第一个怀疑是堆叠变量可能会失控。但是,对于一组合理的变量,这可能是最佳策略。
我想出的一个例子使用了这个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 轴上的标签也不太理想。)
这里没有完美的解决方案,也不会有一刀切的命令。但也许我们可以更轻松地探索新的数据集。