试图了解geom_bar的美学

时间:2014-08-05 20:07:44

标签: r ggplot2

我对ggplot如何在我正在使用的一些数据中处理审美感到困惑。

我有一些数据显示了许多城市的过境旅客的起始ptype和结束atype类型。另外,样本是加权的。您可以使用repmis包直接从Dropbox下载数据。

MyData <- repmis::source_data("https://www.dropbox.com/s/62v84hn9wmwpo6b/MyData.csv")

这些数据中约有75%的旅行从家到工作,但每个城市的比例都不同。我希望按城市可视化这个(未加权的)表格:

table(MyData$ptype, MyData$atype)/nrow(MyData)

        Other School  Work
  Home  0.055  0.130 0.750
  Other 0.040  0.005 0.000
  Work  0.010  0.010 0.000

这段代码可以做到,但y = ..count..是我尝试过的最后一件事(当然,我先尝试了很多其他的东西)。

# problematic
ggplot(MyData, aes(x = ptype, fill = city, weight = weight)) +
  geom_bar(position = "dodge", aes(y = ..count.., group = city), 
           color = "black") + facet_grid(atype ~ .)

Using ..count..

对我来说更自然的事情是y = ..density..,但这显然是错误的,因为每个类别在每个方面中总计为1 而不是在整个情节中

# problematic
ggplot(MyData, aes(x = ptype, fill = city, weight = weight)) +
  geom_bar(position = "dodge", aes(y = ..density.., group = city), 
           color = "black") + facet_grid(atype ~ .)

Using ..density..

事实上,..count..似乎违反直觉,我想知道这是不对的。谁可以给我解释一下这个?

或者指出一个更好的方法来想象这个问题?

1 个答案:

答案 0 :(得分:0)

事实证明,我的weight变量在每个组中总和为1,因为我是这样计算的。因此,加权变量的..count..美学本身就是一个。我想我需要弄清楚如何使这个图表与未加权的数据一起工作,但现在这个有效。