2017-07-31 44 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