R 如何使用ggplot2制作冲积图以显示spss交叉制表的结果?
以下是我的数据:R 如何使用ggplot2制作冲积图以显示spss交叉制表的结果?,r,ggplot2,R,Ggplot2,以下是我的数据: df <- structure(list(language = c("German", "German", "German", "German", "German", "German", "German", "German", "French", "French", &q
df <- structure(list(language = c("German", "German", "German", "German",
"German", "German", "German", "German", "French", "French", "French",
"French", "French", "French", "French", "French", "Italian",
"Italian", "Italian", "Italian", "Italian", "Italian", "Italian",
"Italian"), main_variable = c("d02a", "d02a", "d02a", "d02a",
"d02a", "d02a", "d02a", "d02a", "d02a", "d02a", "d02a", "d02a",
"d02a", "d02a", "d02a", "d02a", "d02a", "d02a", "d02a", "d02a",
"d02a", "d02a", "d02a", "d02a"), combination1 = c("very_attached",
"very_attached", "quite_attached", "quite_attached", "rather_only_sympathiser",
"rather_only_sympathiser", "not_attached_to_a_party", "not_attached_to_a_party",
"very_attached", "very_attached", "quite_attached", "quite_attached",
"rather_only_sympathiser", "rather_only_sympathiser", "not_attached_to_a_party",
"not_attached_to_a_party", "very_attached", "very_attached",
"quite_attached", "quite_attached", "rather_only_sympathiser",
"rather_only_sympathiser", "not_attached_to_a_party", "not_attached_to_a_party"
), combination2 = c("male", "female", "male", "female", "male",
"female", "male", "female", "male", "female", "male", "female",
"male", "female", "male", "female", "male", "female", "male",
"female", "male", "female", "male", "female"), count = c(24L,
23L, 56L, 42L, 78L, 75L, 183L, 218L, 4L, 2L, 12L, 22L, 24L, 33L,
48L, 68L, 3L, 3L, 8L, 9L, 4L, 3L, 5L, 9L)), class = "data.frame", row.names = c(NA,
-24L))
df您可以尝试以下方法:
library(tidyverse)
library(ggalluvial)
df %>%
ggplot(aes(y = count, axis1 = combination2, axis2 = language, axis3 = combination1)) +
geom_alluvium(aes(fill = combination1), width = 0, knot.pos = 0, reverse = FALSE) +
guides(fill = FALSE) +
geom_stratum(width = 1/8, reverse = FALSE) +
geom_text(stat = "stratum", aes(label = after_stat(stratum)), reverse = FALSE) +
scale_x_continuous(breaks = 1:3, labels = c("Sex", "Language", "attachment level")) +
ggtitle("This is a title")
这种类型的图称为冲积图。查看.Hello@Jakub.Novotny,只是一个问题,所以您使用axis1、axis2等来堆叠每个层?谢谢。有什么想法吗