我可以使用 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.grid
与 NA
值一起使用:
> 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.x
和 year.y
我想绘制 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.grid
与 NA
值一起使用:
> 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.x
和 year.y