R语言 在ggplot中应用过滤器的位置和方法

zpgglvta  于 2023-01-15  发布在  其他
关注(0)|答案(1)|浏览(152)

我有一组数据叫做"剧院"
我已经用以下代码准备了所有数据的箱形图:
数据中有一列称为"sector",该列中的数据设置为"Inpatient"或"Day case"。我想创建两个箱形图,一个仅使用Inpatient行,另一个仅使用Day case行,我想使用过滤器......
非常感谢,如果你能帮助一个菜鸟与他的第一个问题。
我试着把这个标记到上面代码的结尾,但是我得到了一个错误,我也试过在每行代码之前的过滤器,认为代码的层次结构可能是一个因素(???)

ggplot(data = theatre) +
   (mapping = aes( x = speciality_groups, y = process_time, fill = 
   speciality_groups)) +
   geom_boxplot() + labs(x = "Sector", fill = "sector") +
   theme_minimal() + 
   theme(axis.text.x=element_text (angle =45, hjust =1))'

尝试使用:

filter(theatre, sector == "Inpatient")

我得到以下错误:
ggplot(数据=手术室)+(Map= aes(x =专业组,:二元运算符的非数值参数此外:警告信息:"+"的方法("+. gg"、"Ops. data. frame")不兼容

s5a0g9ez

s5a0g9ez1#

在使用ggplot2之前创建变量

library(tidyverse)

theatre_inpatient <- theatre %>%
filter(sector == "Inpatient")

theatre_inpatient_boxplot <- theatre_inpatient %>%
   ggplot(., aes(x = speciality_groups, y = process_time, fill = 
   speciality_groups)) +
   geom_boxplot() + labs(x = "Sector", fill = "sector") +
   theme_minimal() + 
   theme(axis.text.x=element_text (angle =45, hjust =1))

那你也可以用同样的方法处理“日案”
另一种方法是使用facet_grid

library(tidyverse)

ggplot(theatre, aes(x = speciality_groups, y = process_time, fill = 
   speciality_groups)) +
   geom_boxplot() + labs(x = "Sector", fill = "sector") +
   theme_minimal() + 
   theme(axis.text.x=element_text (angle =45, hjust =1)) +
   facet_grid(. ~ sector)

相关问题