[程式] R統計軟體(關於眾數)

看板Statistics作者 (小強)時間15年前 (2010/12/30 15:36), 編輯推噓5(5038)
留言43則, 3人參與, 最新討論串1/1
------------------------------------------------------------------------ [軟體程式類別]: R統計軟體 [程式問題]: 眾數我該如何找 [軟體熟悉度]: 中(3個月到1年) [問題敘述]: 其實我現在卡的點就是在我不知道該如何取眾數,我知道R沒有這種指令 但是我該用何種方法去取得眾數,我現在我把我的模擬做了一萬次 然後取得了一萬筆資料,這一萬筆資料我用矩陣型態存了下來 但是我無法在這一萬筆裡面取他的眾數,可否請板上的各位大大 知道該怎麼取的或者是我該怎樣去解決的請幫幫我!!! ----------------------------------------------------------------------------- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.135.64.83

12/30 15:50, , 1F
眾數在 discrete 是出現最多次的那個. continuous 則是
12/30 15:50, 1F

12/30 15:53, , 2F
distribution 達到最高之處.
12/30 15:53, 2F

12/30 15:55, , 3F
"modeest" package in R provides estimators of the mode
12/30 15:55, 3F

12/30 15:55, , 4F
of univariate unimodal data or univariate unimodal
12/30 15:55, 4F

12/30 15:56, , 5F
distributions
12/30 15:56, 5F

12/30 16:02, , 6F
names(which.max(table(c(1,4,4,3)))) , 眾數是4
12/30 16:02, 6F

12/30 16:06, , 7F
換個寫法 , x <- c(1,4,4,3,5,5)
12/30 16:06, 7F

12/30 16:06, , 8F
names(table(x)[table(x)%in%max(table(x))])
12/30 16:06, 8F

12/30 16:09, , 9F
第一種有 bug 不要用
12/30 16:09, 9F
※ 編輯: ba007411 來自: 140.135.64.83 (12/30 16:17)

12/30 16:18, , 10F
謝G大 我試試看你的第二種
12/30 16:18, 10F

12/30 16:21, , 11F
感謝G大 有比較接近我要的值了
12/30 16:21, 11F

12/30 16:22, , 12F
比較接近是啥 , 還有 bug 嗎?
12/30 16:22, 12F

12/30 16:23, , 13F
如果需要"出現幾次" 的資料 , 把 names() 去掉就好
12/30 16:23, 13F

12/30 16:24, , 14F
如果需要把連續型數值四捨五入再做,那就用round(x) 去處理
12/30 16:24, 14F

12/30 16:27, , 15F
關鍵在於你是 discrete 還是 continuous 的資料.
12/30 16:27, 15F

12/30 16:29, , 16F
countinous 最好試正規的 mode estimation 方法."modeest"
12/30 16:29, 16F

12/30 16:35, , 17F
不是 只是因為我是模擬 所以每次的數據會不同
12/30 16:35, 17F

12/30 16:35, , 18F
所以說 接近就好了 也一定不會跟PAPER上的數據一樣
12/30 16:35, 18F

12/30 16:36, , 19F
看起來是離散型的資料,連續型的資料還是用T大的建議比較好
12/30 16:36, 19F

12/30 16:38, , 20F
Ok...不過你可以模擬很多次取平均就會準了.
12/30 16:38, 20F

12/30 16:38, , 21F
喔 對了 忘了回T大 我的是離散型的
12/30 16:38, 21F

12/30 16:39, , 22F
其實我有考慮過取平均 只不過我前面有個數據取過平均
12/30 16:39, 22F

12/30 16:39, , 23F
然後我兩個數據要比較 所以才用取眾數的
12/30 16:39, 23F

12/30 16:40, , 24F
其實說實在的 我那一萬筆是要取極限 我只想到用眾數取
12/30 16:40, 24F

12/30 16:40, , 25F
代 還是說你們有更好的方法
12/30 16:40, 25F

12/30 16:43, , 26F
取甚麼極限 ?
12/30 16:43, 26F

12/30 16:46, , 27F
就是我那一萬筆沒意外會以某個值當基準上下跳動
12/30 16:46, 27F

12/30 16:47, , 28F
我會取眾數是因為那個值附近會有最多數據落在那
12/30 16:47, 28F

12/30 16:47, , 29F
取一萬次 mode 再取 mode 就好了啦
12/30 16:47, 29F

12/30 16:47, , 30F
但是如果用取極限的話 應該就是會收斂到那個值
12/30 16:47, 30F

12/30 16:54, , 31F
所以你是想用 mode 去估計那個極限值 ?
12/30 16:54, 31F

12/30 16:55, , 32F
我目前只有想到這樣子
12/30 16:55, 32F

12/30 16:57, , 33F
如果是的話或許會有更好的估計量(例如 unbias)
12/30 16:57, 33F

12/30 16:58, , 34F
要從式子去推想...通常 mode 不太會是 unbias 估計量.
12/30 16:58, 34F

12/30 16:58, , 35F
不過會比較 robust 一些.
12/30 16:58, 35F

12/30 17:01, , 36F
mean 是 unbias ...會何不用 mean.
12/30 17:01, 36F

12/30 17:02, , 37F
之前有數據用過 mean不代表後面不能用.因為是估計不同參數
12/30 17:02, 37F

12/30 17:02, , 38F
我有一個數據取過mean了 然後我現在要找的東西要跟mean
12/30 17:02, 38F

12/30 17:03, , 39F
做比較
12/30 17:03, 39F

12/30 17:04, , 40F
因為我的mean就是從同一筆資料取出
12/30 17:04, 40F

12/30 17:04, , 41F
OK...比較同估計量. 看看表現跟性質. 各有優缺點.
12/30 17:04, 41F

12/30 17:05, , 42F
mode 應該會 robust 一點. mean 可能會準一點.
12/30 17:05, 42F

12/30 17:08, , 43F
恩 感謝G大跟T大了
12/30 17:08, 43F
文章代碼(AID): #1D73PdbF (Statistics)