如何从ggplot2中的facet_wrap中删除NA?

alb*_*ren 5 r ggplot2 facet-wrap na

我正在尝试使用facet_wrap 在ggplot2 中制作多边形地图。我的变量“作物”中有两个因子水平(大豆、玉米),但是,我得到了三个图:大豆、玉米和一个具有 NA 值的图。此外,前两个方面不显示 NA 值 -

这是我制作地图的代码:

ggplot(study_area.map, aes(x=long, y=lat, group=group)) + 
  geom_polygon(aes(fill=brazil_loss_new2)) + 
  geom_path(colour="black") + 
  facet_wrap(~crop, ncol=2, drop=T) + 
  scale_fill_brewer(na.value="grey", palette="Blues", 
    name="Average production lossess\n per municipality", 
    breaks = levels(study_area.map$brazil_loss_new2), 
    labels = levels(study_area.map$brazil_loss_new2)) + 
  theme() + 
  coord_fixed()
Run Code Online (Sandbox Code Playgroud)

这就是我得到的:

在此输入图像描述

如果我使用 na.omit 我会得到下图(更好,但前两张图中仍然缺少 NA 值)

在此输入图像描述

无论感兴趣的变量是否为 NA,都包括每个变量和城市的行,最终解决问题。这是我一直在寻找的:

具有 NA 值的城市的产量损失

pha*_*man 0

na.omit()包含数据通话是否能满足您的需求?

ggplot(na.omit(study_area.map), aes(x=long, y=lat, group=group)) + 
  geom_polygon(aes(fill=brazil_loss_new2)) + 
  geom_path(colour="black") + 
  facet_wrap(~crop, ncol=2, drop=T) + 
  scale_fill_brewer(na.value="grey", palette="Blues", 
    name="Average production lossess\n per municipality", 
    breaks = levels(study_area.map$brazil_loss_new2), 
    labels = levels(study_area.map$brazil_loss_new2)) + 
  theme() + 
  coord_fixed()
Run Code Online (Sandbox Code Playgroud)

  • 我终于成功了。问题出在数据框本身:无论变量(此处的产量损失)是否为 NA,每种作物和城市都需要一行。我的数据框不包含 NA 值的行。抱歉我的解释不好和问题不具体:/ (2认同)