全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
2626 6
2010-08-05
求助啊

两个变量   appSNam  appCtry
                 1                JP
                 1                 JP
                1                  CN
                1                  TW
                1                 JP
                2                 CA
                2                 CA
                2                 CA
                2                 JP
               3                  TW
               3                 CN
               3                 CN
对于每个appSNam, 取频率最高的appCtry,频率低appCtry的用频率最高的替代
比如,当appSNam=1时,把红字标出的CN和TW用JP代替
         当appSNam=2,把红字标出的JP用CA代替
         当appSNam=3,把红字标出的TW用CN代替
(红字是我发帖时标出的,方便解释)
最后的结果是 :
两个变量   appSNam  appCtry
                1                JP
                 1                 JP
                1                  JP
                1                  JP
                 1               JP

                2                 CA
                2                 CA
                2                 CA
                2                 CA
               3                 CN
               3                 CN
               3                 CN

求达人解答!!感谢
二维码

扫码加我 拉你入群

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

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

全部回复
2010-8-6 01:11:19
额。。顶一下
我的数据太多了 手动修改不了啊。。。。郁
二维码

扫码加我 拉你入群

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

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

2010-8-6 06:49:16
同一个appSNam值中,appCtry几个值频率相同,怎么办?
二维码

扫码加我 拉你入群

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

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

2010-8-6 06:56:32
*假设原始数据中只有appSNam、appCtry两个变量,且对于同一个appSNam值,appCtry各值频率不同
g n=1
collapse (count)n,by(appSNam appCtry)
bys appSNam: egen s=sum(n)
bys appSNam: egen m=max(n)
keep if m==n
expandcl s,cl(appSNam) gen(t)
drop n s m t
二维码

扫码加我 拉你入群

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

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

2010-8-6 10:56:16
非常感谢!!!
但是我的data中还有其他的变量,比如:applnIFD appCount applnFilingDate等十几个
请不要删除其他的变量,应该怎么去做呢?
再次谢谢
二维码

扫码加我 拉你入群

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

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

2010-8-6 11:42:13
jojogaotian 发表于 2010-8-6 10:56 我的data中还有其他的变量,比如:applnIFD appCount applnFilingDate等十几个
请不要删除其他的变量,应该怎么去做呢?
*只是把appCtry的值改了,其他变量的值都不变。
*设原始数据无缺失值,对于相同的appSNam,appCtry各值的频率不同。

bys appSNam appCtry: g n=_N
bys appSNam: egen m=max(n)
g a=appCtry if m==n
gsort appSNam -a
by appSNam: replace a=a[_n-1] if a==""
replace appCtry=a
drop n m a
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群