1

作为一个可重现的例子,使用

library(tidyverse)
iris_count <- count(iris, Species)

iris_count %>%
  mutate(Species2 = ifelse(Species == "setosa", NA, as.character(Species))) %>%
  ggplot(aes(reorder(Species2, -n), n)) +
  geom_col(na.rm = TRUE)

我想NA从情节中删除,但na.rm = TRUE在这种情况下,选项似乎没有做我想要的。

4

1 回答 1

3

使用scale_x_discrete和论证na.translate = FALSE。从scale_x_discrete文档:

na.translate与连续刻度不同,离散刻度可以轻松显示缺失值,并且默认情况下会这样做。如果要从离散量表中删除缺失值,请指定 na.translate = FALSE。

library(ggplot2)
library(dplyr)
iris_count <- count(iris, Species)

iris_count %>%
  mutate(Species2 = ifelse(Species == "setosa", NA, as.character(Species))) %>%
  ggplot(aes(reorder(Species2, -n), n)) +
  geom_col() + 
  scale_x_discrete(na.translate = FALSE)
于 2018-05-29T14:05:32.047 回答