⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kwallis.ado

📁 是一个经济学管理应用软件 很难找的 但是经济学学生又必须用到
💻 ADO
字号:
*! version 2.2.5  16dec2002
program define kwallis, rclass sort
	version 6, miss
	syntax varname [if] [in], BY(varname)
	marksample Touse
	markout `Touse' `by', strok
	
	confirm new var _RankSum _Obs 
	tempvar RankSum Obs Grp Ties
	quietly {
		*replace `Touse' = . if `Touse'==0
		genrank `RankSum' = `varlist' if `Touse'==1
		gen long `Obs'=1 if `RankSum'<.
		sort `by'
		by `by': replace `RankSum'=cond(_n==_N,sum(`RankSum'),.)
		by `by': replace `Obs'=cond(_n==_N,sum(`Obs'),.)
		by `by': gen long `Grp'=1 if _n==_N & `Obs'>0 & `Obs'<.
		sort `Touse' `varlist'
 		by `Touse' `varlist': gen long `Ties' = _N  
		replace `Ties'=0 if `Ties'==1 
		noisily di _n in gr /*
		*/ "Test: Equality of populations (Kruskal-Wallis test)"
		format `RankSum' %9.2f

		char `RankSum'[varname] "Rank Sum"
		char `Obs'[varname] "Obs"
		sort `by'
		noisily l `by' `Obs' `RankSum' if `Obs'<. & `Obs'~=0, /*
				*/ noobs subvar div
		replace `RankSum'=sum(`RankSum'*`RankSum'/`Obs')
		replace `Obs'=sum(`Obs')
		local K=12/(`Obs'*(`Obs'+1))*`RankSum'-3*(`Obs'+1) in l
		replace `Obs'=`Obs'[_N]
		sort `Touse' `varlist'
		tempvar T
		tempname adj Kties
		gen double `T'=0 if `Touse'
		by `Touse' `varlist': replace `T'=`Ties'^3 - `Ties' /*
		*/ if _n==1 & `Touse'
		replace `T' = sum(`T')
		scalar `adj'= 1 - (`T'[_N] /(`Obs'^3 - `Obs')) in l
		scalar `Kties'=`K'/`adj' 
		sort `by'
		replace `Grp'=sum(`Grp')
		drop `T'
	}
	/* double save in S_# and r() */
	ret scalar chi2 = `K'
	ret scalar df = `Grp'[_N]-1
	ret scalar chi2_adj = `Kties'
	global S_1 `K'
	global S_2 = `Grp'[_N]-1
	#delimit ;
		di _new in gr "chi-squared = " in ye %9.3f `K'
		in gr " with " in ye `Grp'[_N]-1 in gr " d.f." _n
		"probability = " in ye
		%10.4f max(chiprob(`Grp'[_N]-1,`K'+(1e-20)),.0001);
		di _new in gr "chi-squared with ties = " in ye %9.3f `Kties'
 		in gr " with " in ye  `Grp'[_N]-1 in gr " d.f." _n
		"probability = " in ye
		%10.4f max(chiprob(`Grp'[_N]-1,`Kties'+(1e-20)),.0001)  ;
	#delimit cr
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -