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

作者: Edster (Edster)   2015-11-16 22:24:18
我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裡面.
怕會漏掉.
感謝.
作者: Edster (Edster)   2015-11-16 22:28:00
貼錯資料, 已修改.最後我用取代 na.rm=TRUE 成na.rm=TRUE, type=6花了比編輯這篇文章還少的時間解決這件事.不過我還是想知道如何變成R中的預設值.
作者: Wush978 (拒看低質媒體)   2015-11-16 22:43:00
在.Rprofile裡面把quantile這個函數改掉?不過如果你呼叫quantile的函數是來自套件的話,就改不到

Links booklink

Contact Us: admin [ a t ] ucptt.com