R 中的交叉表可视化图
CrossTab Visulation Graph in R
我的数据结构如下:
F1 F2 2012 2011
Dinner Monday 5 10
Lunch Tuesday 20 15
Breakfast Wednesday 4 20
我想创建一个交叉表可视化图表,就像 post 中描述的那样:
visualizing crosstab tables with a plot in R
但是,我想要图表上有两列,以便我可以看到同比差异。
我成功复制了上面的代码 link 创建了一年的图表。有办法让我再增加一年吗?
首先,我们将您的数据重新排列为长格式:
dflong <- df %>% tidyr::gather(key, value, -(F1:F2))
然后,使用您提到的 post 中的 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)
给出:
我的数据结构如下:
F1 F2 2012 2011
Dinner Monday 5 10
Lunch Tuesday 20 15
Breakfast Wednesday 4 20
我想创建一个交叉表可视化图表,就像 post 中描述的那样:
visualizing crosstab tables with a plot in R
但是,我想要图表上有两列,以便我可以看到同比差异。
我成功复制了上面的代码 link 创建了一年的图表。有办法让我再增加一年吗?
首先,我们将您的数据重新排列为长格式:
dflong <- df %>% tidyr::gather(key, value, -(F1:F2))
然后,使用您提到的 post 中的 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)
给出: