Как я могу заставить geom_area () оставить пробел для пропущенных значений?

Когда я строю график, используяgeom_area() Я ожидаю, что это будет очень похоже наgeom_bar(), но я немного озадачен этим поведением для пропущенных значений.

    require(dplyr)
    require(ggplot2)

    set.seed(1)

    test <- data.frame(x=rep(1:10,3), y=abs(rnorm(30)), z=rep(LETTERS[1:3],10)) %>% arrange(x,z) 

# I also have no idea why geom_area needs the data.frame to be sorted first.

    test[test$x==4,"y"] <- NA

    ggplot(test, aes(x, y, fill=z)) + geom_bar(stat="identity", position="stack") 

Производит эту гистограмму с накоплением.

Однако, если я изменяю на stack_area (), он интерполирует пропущенные значения.

> ggplot(test, aes(x, y, fill=z)) + geom_area(stat="identity", position="stack")
Warning message:
Removed 3 rows containing missing values (position_stack). 

Если я добавлю вna.rm=FALSE или жеna.rm=TRUE это не имеет значения.

ggplot (test, aes (x, y, fill = z)) + geom_area (stat = "identity", position = "stack", na.rm = TRUE) Предупреждающее сообщение: удалены 3 строки, содержащие пропущенные значения (position_stack)

ggplot (test, aes (x, y, fill = z)) + geom_area (stat = "identity", position = "stack", na.rm = FALSE) Предупреждающее сообщение: удалены 3 строки, содержащие пропущенные значения (position_stack).

Очевидно, что все, что я пытаюсь, не работает. Как я могу показать разрыв в серии сstack_area()?

Ответы на вопрос(1)

Ваш ответ на вопрос