r - 如何根据两个字符变量在ggplot中进行子集化?

标签 r ggplot2 dplyr tidyr

我正在尝试根据两个字符变量在 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/

相关文章:

r - 带有下标和可变源的标签或注解

r - 从数据框列创建列表

r - R中两个数据框的条形图

r - 更改图例顺序以实现多种美学

r - 如何使用ggplot2在 map 上添加经度和纬度线?

r - 在 R 中的 For 循环中执行特定于案例的编辑

r - 填写常量值,dplyr中满足条件时加1

r - 将相同的函数应用于 R 中的多个数据复制

r - 过滤位于 2 个数值向量之间的数据表行向量

r - 如何将 stslist.freq 强制到数据帧