【发布时间】:2020-08-02 15:39:00
【问题描述】:
您能告诉我如何制作如图所示的图表吗? 我只想选择每个城市的前 2 个社区(基于房价中位数的前 2 个社区)并显示它们的中位数价格。当然,如果酒吧是不同的颜色更好.. (请注意,我是手动生成中间价并在 Excel 中绘制的,因此它们不代表真实值)
glimpse(CityNeighbourhoodPrice)
Observations: 37,245
Variables: 3
$ City <fct> Amsterdam, Amsterdam, Amsterdam...
$ Neighbourhood <fct> A,B,C,D,E,F,G,H,I,J,K...
$ Price <int> 970, 1320, 2060, 2480, 1070, 12...
这是我目前的代码(不起作用):
CityNeighbourhoodPrice %>%
group_by(Neighbourhood) %>%
count(n) %>%
top_n(2, MedPrice) %>%
summarise(MedPrice = median(Price, na.rm = TRUE)) %>%
ggplot(aes(x = reorder(Neighbourhood,-MedPrice), y = MedPrice)) +
geom_col(fill = "tomato3", width = 0.5)+
labs(title="Ordered Bar Chart",
subtitle="Average Price by each Property Type",
caption="Image: 5") +
theme(axis.text.x = element_text(angle=65, vjust=0.6))
【问题讨论】:
-
请在您的问题中包含数据集或数据集的子集。看起来您只需要来自 City、Neighborhood 和 Price 的数据。或许可以解释一下字母 A、B、C... 的含义以及它们的来源。
-
字母 A、B、C... 是什么意思,看起来好像它们反映了某种“顶级”的衡量标准——这是如何定义的或者是什么变量捕获了这个属性? (抱歉只允许 5 分钟编辑评论!)
-
嗨,对不起。 A,B,C 指的是邻里!我相信问题中提供了数据集?我只想选前 2 个街区。前 2 个街区是根据 MEDIAN PRICE 确定的。我会澄清这个问题@Peter
-
谢谢。您提供了数据集的视图,但复制和粘贴并不容易,因此可用于回答问题。您能否提供一个摘录,也许使用
dput()以数据框的形式,仅包括适用于您的问题的变量。如果您不确定,请参阅 minimal reproducible example 了解如何执行此操作的示例。这会让其他人更容易帮助你。 -
抱歉,我不确定如何使用 dput(),我已经编辑了我的问题以仅包含所需的变量..
标签: r ggplot2 dplyr data-visualization summarize