天天看點

SPSS和EXCEL的百分等級

今天糾結了一天的百分等級問題,現整理一下糾結成果:

由于Excel算出來的百分等級低于SPSS中的數值,是以開始了找原因的漫漫長路

後來搜尋過程中,使用R中的:

rank(m1)/length(m1) ## 與spss一緻,采用序位中值
      

 此時計算的結果和SPSS一緻

後來發現dplyr包中有個函數叫,percent_rank()

這個函數算出來的百分等級和Excel一緻,于是果斷檢視源代碼

發現它是這麼算的:

(min_rank(m1) - 1)/(sum(!is.na(m1)) - 1)
      

 可以看到,它使用的是序位的下界。

rank(m1,ties.method = \'min\')
rank(m1,ties.method = \'average\')
      

  R中 rank函數預設的是使用均值,是以第一種方法的結果會和SPSS一緻,是以SPSS也是用的序位中值計算的秩。

而Excel中用的是最小的秩,而非均值。

具體為什麼減一。。。還不知道