两个分类变量的散点图

Scatter plot of two categorical variables

我有两个分类变量,我想将它们相互比较。

这是我的数据的虚拟示例:

dummyData <- as.factor(c(rep("fav", 10), rep("int",30)))
dummyMethod1 <- sample(dummyData)
dummyMethod2 <- sample(dummyData)

这是我尝试绘制它的方式:

plot(dummyMethod1, dummyMethod2)

这给出了一个条形图,还可以,但是看不到每个类别中有多少个数据点。

或:

ggplot(data = data.frame(dummyMethod1, dummyMethod2),
       aes(x = dummyMethod1, y = dummyMethod2)) + 
  geom_point(position = position_dodge(width = 0.4))

这是一个散点图,它也没有提供任何关于每个类别中数据点数量的信息。

有什么方法可以制作 dummyMethod1dummyMethod2 的散点图,以便我可以看到每个类别中的每个单独的数据点?

使用抖动:

dummyData <- data.frame(x = as.factor(c(rep("fav", 10))),
                        y = as.factor(c(rep("int",30))))

ggplot(data = dummyData, aes(x, y)) +
  geom_jitter()

ggbeeswarm 也有一些不错的绘制重叠点的选项

library(ggbeeswarm)
ggplot(data = data.frame(dummyMethod1, dummyMethod2),
       aes(x = dummyMethod1, y = dummyMethod2)) + 
  theme_bw(base_size = 16) +
  geom_quasirandom(col = "grey50", varwidth = TRUE, groupOnX = TRUE, alpha = 3/4, size = 2)