根据样本大小/频率排除箱线图中的类别
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()
我有一个大型数据库,我想从中创建一个箱线图:
数据: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()