2016-02-22

用 R 算眾數

今天心血來潮,想重新學一下 R 來跑統計(大概重新學過 3 次了 ...)。用金門大學 陳鍾誠 老師的教材當範例:
習題 1 : 請模擬從班上隨機抽學生一萬次,看看誰與你最有緣 (抽到次數最多)
解答:假設班上有 59 人,那麼編為 1 到 59 號,於是我們可以用下列程式,進行 1 萬次抽樣, 並繪出統計圖。
 
> x=sample(1:59, 10000, TRUE)> hist(x, breaks=0.5:60)執行結果
想說來跑一下眾數,沒想到基本 package 沒有這個功能,冏。只好開始 google。最後大概有兩種公式,簡單整理一下。
第一個
as.numeric(names(table(x)))[table(x) == max(table(x))]

連結:來源一來源二
第二個
which.max(table(x))
連結:來源一來源二來源三
第三個
mode_dat=NULL
for(i in 1:1000){
dat=rnorm(1000)
ds=density(dat)
mode_dat=c(mode_dat,ds$x[which(ds$y==max(ds$y))])
}
連結:來源(看不懂
打完收工
借放:ANOVA