楼主: hanxiean
1170 2

[编程问题求助] cluster 不能和bysort 一起使用,我用了论坛中的一个程序,但是还是不能用 [推广有奖]

  • 1关注
  • 0粉丝

本科生

27%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0.3011
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
185 点
帖子
7
精华
0
在线时间
206 小时
注册时间
2019-12-12
最后登录
2026-1-26

楼主
hanxiean 在职认证  发表于 2020-11-19 18:39:27 |AI写论文
100论坛币
cap program drop bys_box                  
program define bys_box,byable(onecall) sortpreserve
version 13.0

tempvar anchor_var
gen `anchor_var' = _n
tempvar group
qui if _by() {
        egen `group' = group(`_byvars')
}
qui else {
        gen `group' = 1   //用户没有分组==只有一组
}
qui sum `group'
local ng=r(max) //算出总组数目
tempfile ware_file   //用来储存计算结果的仓库文件

forvalue i=1/`ng'  {
preserve         
        qui keep if `group'==`i'





        cluster kmeans y d k s q gender, k(2) measure(L2) start(segments) iterate(2)





        if `i'!=1 {

                qui append using  "`ware_file'"

        }
        qui save "`ware_file'" , replace

restore

}
qui merge 1:1 `anchor_var' using "`ware_file'" , nogen
end


关键词:Cluster bysort 论坛中 不能用 CLU

沙发
hanxiean 在职认证  发表于 2020-11-19 22:20:54
clear
input long stkcd int year float(y d k)
1 2008   .509434 .8  .6176471
1 2008  .3962264  0 .24705882
1 2008 .41509435  0 .19411765
1 2008 .33962265  0  .2529412
1 2008  .7924528  0 .24705882
1 2008  .6792453  0  .1117647
2 2008 .26415095 .8  .5529412
2 2008  .3773585 .8  .3294118
2 2008 .28301886 .8  .4235294
2 2008  .3207547 .8 .29411766
end

藤椅
hanxiean 在职认证  发表于 2020-11-20 07:45:18
  1. clear
  2. input float(y d k)
  3.   .509434 .8  .6176471
  4. .3962264  0 .24705882
  5. .41509435  0 .19411765
  6. .33962265  0  .2529412
  7. .7924528  0 .24705882
  8. .6792453  0  .1117647
  9. .26415095 .8  .5529412
  10. .3773585 .8  .3294118
  11. .28301886 .8  .4235294
  12. .3207547 .8 .29411766
  13. end
复制代码

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

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