根据样本大小/频率排除箱线图中的类别

Exclude categories in boxplot according to sample size / frequency

我有一个大型数据库,我想从中创建一个箱线图:

数据:test.hospital

y: 测试结果(%): 共1500个样本

x1:不同年份 (2011-2017)

x2:不同的医院(30 个不同的医院名称)

不同医院的样本量差异很大,因此在某些情况下,实际上数据太少,无法说明数据。因此,我想从我的箱线图中排除样本量 <15 的所有医院。

所以我想做的是创建一个额外的行,其中包含医院抽样次数的频率,并使用该行排除我的箱线图的低样本量..

正如您可能了解到的那样,我对 R 还很陌生,所以对于大多数人来说这是有可能的。一个非常简单的问题...不过我真的很想知道它的答案...!

非常感谢你:)

尝试使用 dplyr 包。 group_by 有助于区分医院,mutate 统计它们,filter 挑选至少有 15 个观察的医院。 %>% 是连接函数的管道符号。

install.packages(dplyr)
library(dplyr)
test.hospital.filtered <- group_by(test.hospital, x2) %>%
mutate(sampled_count = n()) %>%
filter(sampled_count >= 15)

现在使用 ggplot 创建箱线图。 x 轴为年份,y 轴为测试结果,显示筛选后的医院。

install.packages(ggplot)
library(ggplot)
ggplot(test.hospital.filtered, aes(x = x1, y = y, fill = x2)) +
geom_boxplot()