2017-07-31 74 views
0

我有一个大数据库从中我想创建的箱线图:排除类别在箱线图根据样本大小/频率

数据:test.hospital

Y:试验结果(%):1500样品中的总

X1:不同年(2011年至2017年)

X2:不同医院(30个不同医院名称)

样本大小不同医院很多,所以在某些情况下,实际上数据太少无法说明数据。因此,我想排除所有医院从我的boxplot有样本大小< 15.

所以我想要做的是创建一个额外的行频率多少时间医院采样,并使用该行排除我的boxplot的低样本大小..

因为你可能会得到的是,我对R很新,所以对大多数人来说,这是可能的。一个非常简单的问题......但我真的很喜欢它的答案...!

非常感谢哟:)

回答

0

尝试使用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() 
+0

完美的作品,谢谢! – Lotw