;+ ;NAME: ;  udifference_test ; ;PURPOSE: ; Perform the difference test for two pairs of time-series data sets and ; test the fit of a normal distribution by χ-square test ; If both data sets obey the normal distribution, the Welch test is applied. ; If both data sets do not obey the normal distribution, ; only the Mann-Whitney test is used. ; ;SYNTAX: ; difference_test,vname1,vname2,sl=sl,test_sel=test_sel ; ;KEYWORDS: ; result:Test result. ; The values '0' and '1' mean that the judgement of the Welch test is different ; and same, respectively. Moreover, the values '2' and '3' mean that the judgement ; of the Mann-Whitney test is different and same, respectively. ; sl:Significant level. ; The default is 0.05. ; test_sel:Specify the test to be performed. The value '2' is the Mann-Whitney test, ; '1' is the Welch test, and '0' is to test the fit of a normal distribution ; by χ-square test ; ;CODE: ;R. Hamaguchi, 13/02/2012. ; ;MODIFICATIONS: ;A. Shinbori, 01/05/2013. ;A. Shinbori, 10/07/2013. ; ;ACKNOWLEDGEMENT: ; $LastChangedBy: nikos $ ; $LastChangedDate: 2018-08-01 11:03:38 -0700 (Wed, 01 Aug 2018) $ ; $LastChangedRevision: 25538 $ ; $URL $ ;- pro udifference_test,vname1,vname2,result,sl=sl,test_sel=test_sel ;*********************** ;Keyword check test_sel: ;*********************** if not keyword_set(test_sel) then test_sel=0 ;Get data from two tplot variables: if strlen(tnames(vname1)) * strlen(tnames(vname2)) eq 0 then begin print, 'Cannot find the tplot vars in argument!' return endif get_data,vname1,data=d1 get_data,vname2,data=d2 x=d1.y y=d2.y ;Welch or Mann Whitney test: if test_sel eq 1 then begin result=welch_test(x,y,sl=sl) endif if test_sel eq 2 then begin result=mann_whitney_test(x,y,sl=sl) endif if test_sel eq 0 then begin x1=normality_test(x,sl=sl) y1=normality_test(y,sl=sl) if (x1 eq 0) and (y1 eq 0) then begin result=welch_test(x,y,sl=sl) endif else begin result=mann_whitney_test(x,y,sl=sl) endelse endif ;The end: end