[問題] quantile, 如何將預設值全部改掉呢?

看板R_Language作者 (Edster)時間10年前 (2015/11/16 22:24), 10年前編輯推噓0(006)
留言6則, 2人參與, 最新討論串1/1
我de了數天的bug, 終於找到程式結果不如預期的原因(時間就在debug中度過). 是quantile非常吃樣本個數, 雖然原先就知道, 但以為這是個小事 哪知當樣本數小於20跟大於20時. 同一組樣本算出來的95%卻落差非常多. 舉例來說, 我的資料如下. x17 = c(-95.290065, -94.676170, -94.042493, -93.766582, -93.281851, -92.621728, -92.275779, -91.985500, -86.475105, -80.372520, -80.040033, -78.674849, -68.573205, -60.486220, -57.897714, -4.204705, 119.349514) x31 = c(-95.747361, -94.438780, -94.198810, -93.922347, -93.881117, -93.788013, -93.658992, -93.609898, -93.599487, -93.599094, -93.533554, -93.517688, -93.478389, -93.475430, -93.364654, -93.048528, -92.872143, -92.533137, -90.225752, -89.077365, -84.827016, -84.166512, -69.243811, -68.747692, -65.920400, -62.867256, -56.184730, -48.477508, 9.279569, 10.153318, 264.201379) x17 = rep(x17, 17); x31 = rep(x31, 31) quantile(x17, 0.95, type=6); quantile(x17, 0.95, type=7) quantile(x31, 0.95, type=6); quantile(x31, 0.95, type=7) quantile的default是type=7 (R的預設值) 現在我想讓這個type在這整隻程式裡全部改成type=6 (matlab & spss 都用這個, 也是我比較希望的算法.) 請問有什麼方法可以讓我電腦裡的關於quantile的type全改成type=6 一個個改也是可以, 只是這隻程式用到太多次quantile, 有的還寫在aggregate裡面. 怕會漏掉. 感謝. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.241.16.98 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1447683861.A.A9F.html ※ 編輯: Edster (111.241.16.98), 11/16/2015 22:27:38

11/16 22:28, , 1F
貼錯資料, 已修改.
11/16 22:28, 1F

11/16 22:34, , 2F
最後我用取代 na.rm=TRUE 成na.rm=TRUE, type=6
11/16 22:34, 2F

11/16 22:35, , 3F
花了比編輯這篇文章還少的時間解決這件事.
11/16 22:35, 3F

11/16 22:35, , 4F
不過我還是想知道如何變成R中的預設值.
11/16 22:35, 4F

11/16 22:43, , 5F
在.Rprofile裡面把quantile這個函數改掉?
11/16 22:43, 5F

11/16 22:44, , 6F
不過如果你呼叫quantile的函數是來自套件的話,就改不到
11/16 22:44, 6F
文章代碼(AID): #1MIUSLgV (R_Language)
文章代碼(AID): #1MIUSLgV (R_Language)