我可以使用 NA 对数据进行分面吗?

Can I facet data with NAs?

我想绘制 6 年 (2008-2013) 中的 4 年 (2010-2013),将 space 分配给 2008 年和 2009 年(出于实用目的)。但是,因为我那几年有NA,facet_grid抱怨:

“layout_base(data, cols, drop = drop) 中的错误: 至少一层必须包含用于切面的所有变量

这是我的数据集:https://www.dropbox.com/s/ehyccl8kubazs8x/test.csv?dl=0

这是我的代码:

cbbPalette <- c("#000000", "#E69F00", "#56B4E9", "#009E73", "#F0E442", "#0072B2", "#D55E00", "#CC79A7")

ggplot(test) + 
  geom_jitter(aes(mean,NEE_f, colour=factor(month.x)),alpha=1,size=2) +  scale_colour_manual(values=cbbPalette)+
  labs(x = "WT to surface (cm)", y = "Reco (μmol/m2/s)")+
  facet_grid(~year)+
  theme_bw(base_size = 12, base_family = "Helvetica")+
  theme(legend.position="none",
        panel.grid.major = element_blank(),
        panel.grid.minor = element_blank(),
        strip.background = element_blank(),
        panel.border = element_rect(colour = "black"),
        panel.border = element_rect(colour = "black", fill=NA, size=1))

快速而肮脏的解决方案?

干杯

您可以将 facet.gridNA 值一起使用:

> df = data.frame(Date = as.Date(seq(300, 2000, 300), origin = "2000-01-01"), 
    x = rnorm(6), y = rnorm(6))
> df$Date[3] <- NA
> ggplot(df) + geom_jitter(aes(x, y)) + facet_grid(~Date)

你的问题是你没有名为 year 的列,你只有 year.xyear.y