gpt4 book ai didi

r - 拆分数据以在 R 中并排绘制直方图

转载 作者:行者123 更新时间:2023-12-02 09:14:08 25 4
gpt4 key购买 nike

我正在使用澳大利亚运动员数据集学习 R。

通过使用 ggplot,我可以绘制这样的直方图。

library(DAAG)

ggplot(ais, aes(wt, fill = sex)) +
geom_histogram(binwidth = 5)

enter image description here

通过使用 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)]

但我不知道如何将它们放入绘图中。我试过了,但它不起作用:

ggplot(ais1, aes(wt, fill = sex)) +...

如何绘制直方图(相应地并排放置 2 个相似的直方图)?

最佳答案

将拆分作为列添加到您的数据中

ais$wt_3q = ifelse(ais$wt < 84.12, "Quartiles 1-3", "Quartile 4")

然后使用分面:

ggplot(ais, aes(wt, fill = sex)) + 
geom_histogram(binwidth = 5) +
facet_wrap(~ wt_3q)

enter image description here

创建的变量是一个因素,如果您指定级别的顺序,您可以对这些方面进行不同的排序(这里有很多问题表明,如果您搜索它们 - 与为 ggplot 条形图重新排序条相同)。您还可以让比例变化 - 查看 ?facet_wrap 了解更多详细信息。

通常,您不应该创建更多数据框。创建 ais1ais2 通常是可以避免的,如果您对单个数据集使用单个数据框,您的生活会更简单。添加新的分组列可以让事情井井有条。

关于r - 拆分数据以在 R 中并排绘制直方图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48779181/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com