楼主: che_nax
2047 2

如何在Cross配对中实现无序不重复配对 [推广有奖]

  • 2关注
  • 0粉丝

已卖:1份资源

本科生

82%

还不是VIP/贵宾

-

威望
0
论坛币
214 个
通用积分
0.0600
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
14965 点
帖子
31
精华
0
在线时间
191 小时
注册时间
2008-3-12
最后登录
2023-1-31

楼主
che_nax 发表于 2012-7-5 19:43:24 |AI写论文
5论坛币
手上有195个公司,需要两两配对然后作比较。试着写了指令:

save compid2
rename compid compid1
cross using compid2
rename compid compid2
drop if compid1==compid2
duplicates drop



但这样的话
compid1  compid2
     1              9
     9              1
就会被认为是两个组合,但其实公司1和公司9只应该是一个组合

求指点应该如何才能达到那种效果,先行谢过

关键词:Cross Ross OSS CRO ROS replace cross 配对 公司 Cross

沙发
sungmoo 发表于 2012-7-6 01:04:23
forv i=1/10{
loc s=`i'+1
forv j=`s'/10{
n di `i' "  " `j'
}
}

藤椅
che_nax 发表于 2012-7-6 08:03:27
sungmoo 发表于 2012-7-6 01:04
forv i=1/10{
loc s=`i'+1
forv j=`s'/10{
非常感谢,我试着运行了一下,大概明白了这个方法,但是还有几个问题:
1.只能在Results Window里面显示结果,在Data Editor里没变化,不利于后续操作

2.源数据中公司id不是连续的,而且还要做同年比较(专利数什么的),在同一年中公司id就更不连续了

刚才我想了个办法,就是强行规定compid1必须小于compid2,不符合的全部转换到符合的顺序,这样就可以duplicates drop了

附上代码和源文件(论坛不支持dta上传啊……加了个rar后缀 imitation.dta.rar (4.7 KB) ):

forv i=1983/2006{
use imitation, clear
keep if year==`i'
keep compid
        if _N>0 {
                save compid`i'.dta, replace
                rename compid compid1
                cross using compid`i'.dta
                rename compid compid2
                drop if compid1==compid2
                clonevar compid=compid1 if compid1>compid2
                replace compid1=compid2 if compid!=.
                replace compid2=compid if compid!=.
                drop compid
                duplicates drop
                gen year=`i'
                save cross`i'.dta, replace
        }
        else {
                drop compid
                set obs 1
                gen compid1=999
                gen compid2=999
                gen year=`i'
                save compid`i'.dta, replace
                save cross`i'.dta, replace
        }
}
use cross1983, clear
forv i=1984/2006{
append using cross`i'.dta
}
drop if compid1==999
save cross, replace

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-30 02:38