删除构面分组变量中没有数据的因素

Jul*_*rre 3 r ggplot2

我有以下数据:

data <- data.frame(x = letters[1:6], 
                   group = rep(letters[1:2], each = 3), 
                   y = 1:6)

  x group y
1 a     a 1
2 b     a 2
3 c     a 3
4 d     b 4
5 e     b 5
6 f     b 6
Run Code Online (Sandbox Code Playgroud)

我想用y ~ xggplot2 绘制并按组分成多个方面。

ggplot(data, aes(x, y)) + 
  geom_bar(stat = "identity") + 
  facet_grid(group ~ .)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

问题是(x; group)我的数据中不存在某些元组(例如 ) 没有数据x = a && group = b,但它们保留在两个方面的 x 轴中,因此我想删除它们,然后删除方面中的空白当各个组中缺少因素时。

我以为scales = "free_x" or drop = TRUE可以做到这一点,但我没能做到。

任何帮助将不胜感激,谢谢!

小智 5

改用facet_wrap

ggplot(data, aes(x, y)) + 
     geom_col() + 
     facet_wrap(~group, scales = 'free', nrow = 2, strip.position = 'right')
Run Code Online (Sandbox Code Playgroud)

另请注意geom_col,作为使用的替代方法identity