我有两个分类变量,我想互相绘制。
这是我数据的虚拟示例:
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))
这会产生一个散点图,它也不会提供有关每个类别中数据点数的任何信息。
有没有办法制作dummyMethod1
vs dummyMethod2
的散点图,以便我可以看到每个类别中的每个数据点?
答案 0 :(得分:2)
使用抖动:
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()
答案 1 :(得分:1)
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)