_crcglil.ado

来自「是一个经济学管理应用软件 很难找的 但是经济学学生又必须用到」· ADO 代码 · 共 47 行

ADO
47
字号
*! version 4.0.2  26nov1997
program define _crcglil
	version 6.0
	local eta `1'
	local mu  `2'
	local pow `3'
	local m   `4'
	local k   `5'
	local bernoul `6'
	local l `"`e(link)'"'
	local f `"`e(family)'"'
	local small 1e-6
	if `"`l'"'=="pow" {
		if abs(`pow')<`small' { replace `mu' = exp(`eta') }
		else if abs(`pow'-1)>`small' { replace `mu' = `eta'^(1/`pow') }
		else replace `mu' = `eta'
		if `"`f'"' == "bin" & !`bernoul' { replace `mu'=`mu'*`m' }
		exit
	}
	if `"`f'"' == "bin" {
		if `"`l'"' == "l" {
			replace `mu' = 1/(1+exp(-`eta'))
		}
		else if `"`l'"' == "p" {
			replace `mu' = normprob(`eta')
		}
		else if `"`l'"' == "c"  {
			replace `mu' = 1-exp(-exp(`eta'))
		}
		else if `"`l'"'=="opo" {
			if abs(`pow')<`small' {
				replace `mu' = 1/(1+exp(-`eta'))
			}
			else if abs(`pow'-1)>`small' {
				replace `mu' = 1/(1+(1+`eta'*`pow')^(-1/`pow'))
			}
			else replace `mu' = (1+`eta')/(2+`eta')
		}
		if !`bernoul' { replace `mu'=`mu'*`m' }
		exit
	}
	if `"`f'"' == "poi"  { replace `mu' = exp(`eta') }
	else if `"`f'"' == "gam"  { replace `mu' = 1/`eta' }
	else if `"`f'"' == "ivg" { replace `mu' = 1/sqrt(`eta') }
	else if `"`f'"' == "nb" { replace `mu' = 1/(`k'*(exp(-`eta')-1)) }   
end

⌨️ 快捷键说明

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