计算列联表格的新变量的平均值

时间:2016-12-23 00:35:10

标签: r ggplot2 mosaic-plot

我试图用绘图中的彩色气泡来总结李克特刻度等级数据。我目前有一个小提琴情节覆盖在一个抖动的,刻面的散点图上,这让我几乎想念我想要传达的东西。

faceted scatterplot of jittered 7-point ratings shaded by continuous variable

理想情况下,我会在Likert量表上为每个点设置气泡,按照具有该分数的项目的数量(或比例)进行调整,并使用spKnownShown变量的平均值进行着色。为Likert-facet-x轴组合制作列联表是微不足道的,但是如何将每个单元格链接到spKnownShown的平均值?任何有关从列联表中获取下一个实际情节的建议都将受到赞赏。

道歉,我无法分享数据,因为它是在保密协议下。

1 个答案:

答案 0 :(得分:1)

考虑使用dplyr包中的函数。我首先制作一个假数据集,其中x,y,v和f分别对应x轴,Likert,你想要平均值和facet的值。

library(ggplot2)
library(dplyr)
n <- 1000
set.seed(1)
d <- data.frame(x = sample(0:1, n, r = T),
                y = pmin(rpois(n, 2), 6),
                v = rnorm(n),
                f = sample(0:2, n, r = T))

创建所需的值是使用group_by中的summarisedplyr的组合:

plt <- d %>% group_by(f, x, y) %>%
  summarise(n = n(), v = mean(v))

最后,情节:

ggplot(plt, aes(x = factor(x), y = factor(y), size = n, colour = v)) +
  geom_point() +
  facet_wrap("f") 

enter image description here