978 2

[一般统计问题] 熵权法 [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

本科生

25%

还不是VIP/贵宾

-

威望
0
论坛币
7 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
114 点
帖子
9
精华
0
在线时间
162 小时
注册时间
2019-11-27
最后登录
2023-9-16

楼主
佳佳jiajiajiajia 发表于 2023-9-15 20:28:33 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
为什么会报错“variable d_* not found” 360截图16450704686254.png
二维码

扫码加我 拉你入群

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

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

关键词:熵权法 Variable found ABLE ABL

沙发
陈小丽 发表于 2023-9-17 16:38:23
global all_var x1 x2 x3 x4 x5 x6 x7 x8
foreach i in $all_var{
        egen min_`i'=min(`i')
        egen max_`i'=max(`i')
        gen s`i'=(`i'-min_`i')/(max_`i'-min_`i')
        replace s`i'=0.0001 if s`i'==0
}
order id year $all_var min* max* s*
forvalue i=1(1)8{
        egen sums_`i'=sum(sx`i')
        gen p`i'=sx`i'/sums_`i'
}
order id year $all_var min* max* s* sums* p*
forvalue i=1(1)8{
        egen l`i'=sum(p`i'*ln(p`i'))
        gen e`i'=-l`i'/ln(2598)
        gen d`i'=1-e`i'
}
order id year $all_var min* max* s* sums* p* l* e* d*
forvalue i=1(1)8{
        egen f`i'=rowtotal(d*)
        gen w`i'=d`i'/f`i'
}
order id year $all_var min* max* s* sums* p* l* e* d* f* w*
forvalue i=1(1)8{
        gen score`i'=w`i'*sx`i'
}
egen Score=rowtotal(sc*)
keep id year 省份 城市 地区 name  x* w* Score

stata数据分析交流3群706059301

藤椅
Bonus_ 发表于 2024-4-18 11:06:21
我套用了别人命令也出现了这个问题,后来追根溯源,发现他们代码的逻辑就需要我们把自己的变量名rename和他们命名格式一样的,比如我的就要把我原来的ES MS SS rename 成x1 x2 x3

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-2-3 14:51