如何在R中尽可能少地为数据集中的所有变量创建直方图?
探索新的数据集:可视化许多(所有)变量的最简单、最快速的方法是什么 理想情况下,输出以最小的混乱和最大的信息显示彼此相邻的直方图。这个问题的关键是处理大型和不同数据集的灵活性和稳定性。我使用的是RStudio,通常处理大量杂乱的调查数据 从Hmisc框中引出的一个很好的例子是:如何在R中尽可能少地为数据集中的所有变量创建直方图?,r,ggplot2,histogram,R,Ggplot2,Histogram,探索新的数据集:可视化许多(所有)变量的最简单、最快速的方法是什么 理想情况下,输出以最小的混乱和最大的信息显示彼此相邻的直方图。这个问题的关键是处理大型和不同数据集的灵活性和稳定性。我使用的是RStudio,通常处理大量杂乱的调查数据 从Hmisc框中引出的一个很好的例子是: library(ggplot2) str(mpg) library(Hmisc) hist.data.frame(mpg) 不幸的是,我在其他地方遇到了数据标签的问题(plot.new()中的错误:图边距太大)。对于
library(ggplot2)
str(mpg)
library(Hmisc)
hist.data.frame(mpg)
不幸的是,我在其他地方遇到了数据标签的问题(plot.new()中的错误:图边距太大)。对于比mpg更大的数据集,它也崩溃了,我还没有弄清楚如何控制装箱。此外,我更喜欢ggplot2
中的灵活解决方案。请注意,我刚刚开始学习R,并且已经习惯了商业软件提供的舒适解决方案
有关此主题的更多问题:
…?可能有三种广泛的方法:
hist.data.frame()
library(plyr)
library(psych)
multi.hist(mpg) #error, not numeric
multi.hist(mpg[,sapply(mpg, is.numeric)])
或者可能是plotrix
中的multhist
,我还没有研究过。它们都没有提供我所期待的灵活性
循环
作为一名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)
library(重塑2)
mpgid为一个数据集中的每个变量绘制一个图表对于一个小的数据集来说是很好的,但是如果你有3000个变量,这只是一个非常糟糕的想法。在这种情况下,正确的答案是“不要那样做”;这只是“凌乱”的一个例子。我很感谢你在这里所做的努力,但你的问题并不是描述一个具体的编程问题。相反,它让人感觉非常像是会导致各种建议的杂乱无章的答案,而不是一个明确的答案。事实上,当我读到你的答案时,我比以前更困惑于你的标准是什么。