【问题标题】:CrossTab Visulation Graph in RR中的CrossTab可视化图
【发布时间】:2016-05-21 05:50:47
【问题描述】:

我的数据结构如下:

F1           F2         2012   2011 
Dinner      Monday        5      10
Lunch       Tuesday      20      15
Breakfast   Wednesday    4       20

我想创建一个交叉表可视化图表,就像这篇文章中描述的那样:

visualizing crosstab tables with a plot in R

但是,我希望图表上有两列,以便查看年同比差异。

我成功复制了上面链接中的代码以创建一年的图表。有没有办法让我再增加一年?

【问题讨论】:

  • 让您的数据可重现,并提及您所做的(您所做的脚本),您将获得更多帮助

标签: r graph graphics crosstab


【解决方案1】:

首先,我们将您的数据重新排列为长格式:

dflong <- df %>% tidyr::gather(key, value, -(F1:F2))

然后,使用您提到的帖子中的ggplot 方法,只需添加facet_grid()

ggplot(dflong, aes(F1, F2)) + 
  geom_point(aes(size = value), colour = "green") + 
  theme_bw() + xlab("") + ylab("") +
  scale_size_continuous(range=c(10,30)) + 
  geom_text(aes(label = value)) +
  facet_grid(. ~ key)

这给出了:

【讨论】:

  • 非常感谢,这很好用。有没有一种简单的方法可以不将图表分开。基本上我正在寻找一个大图表,其中两年列出现在每个底部类别(早餐,晚餐,午餐)旁边。基本上,早餐有两条线,一条是 2011 年的,一条是 2012 年的。晚餐和午餐也是如此。谢谢!
  • @user1609391 你的意思是F1facet_grid() 而不是keyaes(key, F2)
猜你喜欢
  • 1970-01-01
  • 2020-03-20
  • 2020-12-19
  • 2014-12-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多