我正在使用新包ggmosaic
来绘制马赛克图ggplot2
。
对于我使用的数据集中的一个变量,我有一个错误“计算失败stat_mosaic()
”。问题似乎与变量的内容有关,更准确地说是]
围绕)
.
一个简单的例子:
# Parameters
library(ggplot2)
library(ggmosaic)
set.separators(c(":", ";", "|")) # cf. ggmosaic documentation
# Plot OK
ggplot(data = df) +
geom_mosaic(aes(weight = 1, x = product(TheGroup, TheRange), fill = TheGroup), na.rm = TRUE) +
theme(axis.text.x = element_text(angle = 0, hjust = .1)) +
labs(x = "TheRange", y = "TheGroup")
# Plot NOK
ggplot(data = df) +
geom_mosaic(aes(weight = 1, x = product(TheRange, TheGroup), fill = TheRange), na.rm = TRUE) +
theme(axis.text.x = element_text(angle = 0, hjust = .1)) +
labs(x = "TheGroup", y = "TheRange")
以及带有变量的数据框的子集:
df <- structure(list(TheRange = structure(c(1L, 1L, 2L, 1L, 1L, 1L,
1L, 2L, 3L, 3L, 2L, 3L, 1L, 3L, 1L, 2L, 3L, 2L, 1L, 2L, 3L, 2L,
1L, 2L, 2L, 3L, 1L, 3L, 2L, 3L, 2L, 3L, 3L, 3L, 1L, 3L, 1L, 2L,
1L, 3L, 3L, 1L, 3L),
.Label = c("(0,30]", "(30,50]", "(50,100]"), class = "factor"),
TheGroup = c("Groupe 2", "Groupe 1", "Groupe 2",
"Groupe 1", "Groupe 1", "Groupe 2", "Groupe 1", "Groupe 2", "Groupe 2",
"Groupe 2", "Groupe 2", "Groupe 1", "Groupe 2", "Groupe 2", "Groupe 2",
"Groupe 2", "Groupe 1", "Groupe 2", "Groupe 1", "Groupe 2", "Groupe 1",
"Groupe 1", "Groupe 1", "Groupe 2", "Groupe 1", "Groupe 1", "Groupe 1",
"Groupe 2", "Groupe 1", "Groupe 1", "Groupe 2", "Groupe 2", "Groupe 2",
"Groupe 2", "Groupe 2", "Groupe 2", "Groupe 2", "Groupe 2", "Groupe 2",
"Groupe 2", "Groupe 2", "Groupe 2", "Groupe 2")),
.Names = c("TheRange", "TheGroup"),
row.names = c(1L, 2L, 3L, 4L, 5L, 14L, 15L, 16L,
17L, 18L, 19L, 20L, 21L, 22L, 23L, 24L, 25L, 26L, 27L, 28L, 30L,
31L, 33L, 34L, 35L, 36L, 37L, 38L, 39L, 41L, 42L, 43L, 44L, 46L,
47L, 49L, 50L, 51L, 52L, 53L, 54L, 55L, 56L),
class = "data.frame")