0

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

数据:test.hospital

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

x1:不同年份(2011-2017)

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

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

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

正如您可能得到的那样,我对 R 很陌生,所以对于大多数人来说,这很可能。一个非常简单的问题......但我真的很想得到它的答案......!

非常感谢你:)

4

1 回答 1

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()
于 2017-07-31T14:51:52.343 回答