我正在尝试根据两个字符变量在 ggplot 中对我的数据进行子集:模型和字母。我想对具有字母“a”的“m1”进行子集化。在原始数据中,我有多行具有“m1”和“a”,但下面只是一个可重现的小例子。有人可以指导我如何在 ggplot 命令中对其进行子集化吗?
model value letter
m1 5 a
m2 11 b
m3 2 c
m1 4 d
m2 22 e
m3 6 f
structure(list(model = structure(c("m1", "m2", "m3", "m1", "m2",
"m3"), format.stata = "%9s"), value = structure(c(5, 11, 2, 4,
22, 6), format.stata = "%9.0g"), letter = structure(c("a", "b",
"c", "d", "e", "f"), format.stata = "%9s")), row.names = c(NA,
-6L), class = c("tbl_df", "tbl", "data.frame"))
最佳答案
我们可以通过filter
做一个群这可以用作 ggplot
的输入
library(dplyr)
library(ggplot2)
df1 %>%
group_by(model) %>%
filter('a' %in% letter) %>%
ggplot(aes(x = letter, y = value)) +
geom_col()
或者如果它只是 'm1' 和 'a',执行 filter
立刻df1 %>%
filter(model == 'm1', letter == 'a') %>%
ggplot(aes(x = letter, y = value)) +
geom_col()
关于r - 如何根据两个字符变量在ggplot中进行子集化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65396747/