Remove unused factor levels from a ggplot bar plot

前端 未结 2 1567
孤街浪徒
孤街浪徒 2020-12-03 07:20

I want to do the opposite of this question, and sort of the opposite of this question, though that\'s about legends, not the plot itself.

The other SO questions seem

2条回答
  •  星月不相逢
    2020-12-03 08:22

    One easy options is to use na.omit() on your data frame df to remove those rows with NA

    ggplot(na.omit(df), aes(x=name,y=var1)) + geom_bar()
    

    Given your update, the following

    ggplot(df[!is.na(df$var1), ], aes(x=name,y=var1)) + geom_bar()
    

    works OK and only considers NA in Var1. Given that you are only plotting name and Var, apply na.omit() to a data frame containing only those variables

    ggplot(na.omit(df[, c("name", "var1")]), aes(x=name,y=var1)) + geom_bar()
    

提交回复
热议问题