两个分类变量的散点图
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))
这是一个散点图,它也没有提供任何关于每个类别中数据点数量的信息。
有什么方法可以制作 dummyMethod1
与 dummyMethod2
的散点图,以便我可以看到每个类别中的每个单独的数据点?
使用抖动:
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)
我有两个分类变量,我想将它们相互比较。
这是我的数据的虚拟示例:
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
与 dummyMethod2
的散点图,以便我可以看到每个类别中的每个单独的数据点?
使用抖动:
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)