2017-01-08 2 views
0

Я использую новый пакет ggmosaic, чтобы нарисовать мозаичные участки с ggplot2.R - Ошибка при использовании пакета ggmosaic

У меня есть ошибка «Вычисление не выполнено в 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") 

ответ

0

Данная ошибка была исправлена ​​в последней версии ggmosaic (0.1.2).

Смежные вопросы