楼主: 海1海海
449 0

[经管数据集] 熵值法计算综合指数及Heckman、多期DID、固定、中介效应等stata代码 [推广有奖]

  • 0关注
  • 4粉丝

已卖:280份资源

副教授

42%

还不是VIP/贵宾

-

威望
0
论坛币
598 个
通用积分
18.0028
学术水平
159 点
热心指数
159 点
信用等级
159 点
经验
12082 点
帖子
334
精华
0
在线时间
435 小时
注册时间
2023-10-20
最后登录
2025-4-25

20周年荣誉勋章 初级热心勋章

楼主
海1海海 发表于 2024-9-22 11:04:01 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
部分实例import excel "数据.xlsx", firstrow clear

save data.dta, replace

*=========================== 需要设置 ===========================

//正向指标

global positive_var x1 x2 x3

//负向指标

global negative_var x4 x5

*================================================================

*========================= 后面无需改动 =========================

//所有指标

global all_var $positive_var $negative_var

//年份

qui sum year

global min_year=r(min)

global max_year=r(max)

forvalues year=$min_year / $max_year{

        use data.dta, clear

        keep if year==`year'

        //标准化数据 正向指标

        foreach i in $positive_var {

                qui sum `i'

                gen x_`i'=(`i'-r(min))/(r(max)-r(min))

                replace x_`i'=0.00001 if x_`i'==0

        }

       

        //标准化数据 负向指标

        foreach i in $negative_var {

                qui sum `i'

                gen x_`i'=(r(max)-`i')/(r(max)-r(min))

                replace x_`i'=0.00001 if x_`i'==0

        }

        //计算各指标的比重

        foreach i in $all_var {

                egen `i'_sum=sum(x_`i')

                gen y_`i'=x_`i'/`i'_sum

        }

        //根据比重计算各分量的信息熵

        gen n=_N

        foreach i in $all_var {

                gen y_lny_`i'=y_`i'*ln(y_`i')

        }

        //求和

        foreach i in $all_var {

                egen y_lny_`i'_sum=sum(y_lny_`i')

        }

        //计算各指标的贡献总量

        foreach i in $all_var {

                gen E_`i'= -1/ln(n)*y_lny_`i'_sum

        }

        //计算各指标权重

        foreach i in $all_var {

                gen d_`i'= 1-E_`i'

        }

       

        egen d_sum = rowtotal(d_*)

        foreach i in $all_var {

                gen W_`i'= d_`i'/d_sum

        }

       

        //计算综合得分

        foreach i in $all_var {

                gen Score_`i'= x_`i'*W_`i'

        }

       

       

        egen Score=rowtotal(Score_*)

        keep id year $all_var Score

        save data_`year', replace

}

clear

forvalues i= $min_year / $max_year {

   append using data_`i'

   rm data_`i'.dta

}

sort id year

save 结果.dta, replace

//其中数据中的Score列就是计算出来的综合指标






3.png










二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:heckman Stata 综合指数 中介效应 tata
相关内容:中介效应代码stata

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
扫码
拉您进交流群
GMT+8, 2026-2-14 17:19