Mar*_*k K 3 r histogram ggplot2
我正在使用澳大利亚运动员数据集学习 R。
通过使用 ggplot,我可以绘制这样的直方图。
library(DAAG)
ggplot(ais, aes(wt, fill = sex)) +
geom_histogram(binwidth = 5)
Run Code Online (Sandbox Code Playgroud)
通过使用 summary(ais$wt),第三个四分位数是 84.12。现在我想按 wt 84.12 拆分数据。并相应地绘制2个类似的直方图(并排)
拆分是:
ais1 = ais$wt[which(ais$wt>=0 & ais$wt<=84.12)]
ais2 = ais$wt[which(ais$wt>84.12)]
Run Code Online (Sandbox Code Playgroud)
但我不知道如何将它们放入绘图中。我试过了,但不起作用:
ggplot(ais1, aes(wt, fill = sex)) +...
Run Code Online (Sandbox Code Playgroud)
如何绘制直方图(相应地并排绘制 2 个类似的直方图)?
将拆分作为列添加到您的数据中
ais$wt_3q = ifelse(ais$wt < 84.12, "Quartiles 1-3", "Quartile 4")
Run Code Online (Sandbox Code Playgroud)
然后使用方面:
ggplot(ais, aes(wt, fill = sex)) +
geom_histogram(binwidth = 5) +
facet_wrap(~ wt_3q)
Run Code Online (Sandbox Code Playgroud)
创建的变量是一个因素,如果您指定级别的顺序,您可以对方面进行不同的排序(这里有很多问题表明如果您搜索它们 - 与重新排序 ggplot barplot 的条形图相同)。您还可以让比例变化 - 查看?facet_wrap
更多详细信息。
通常,您不应创建更多数据框。创建ais1
和ais2
通常是可以避免的,如果对单个数据集使用单个数据框,您的生活会更简单。添加用于分组的新列可以轻松地使事情井井有条。
归档时间: |
|
查看次数: |
2375 次 |
最近记录: |