楼主: zengbing
3295 10

请教高手,怎么读下面的程序 [推广有奖]

  • 0关注
  • 0粉丝

已卖:1份资源

高中生

30%

还不是VIP/贵宾

-

威望
0
论坛币
65606 个
通用积分
0.0600
学术水平
14 点
热心指数
14 点
信用等级
13 点
经验
-389 点
帖子
50
精华
0
在线时间
7 小时
注册时间
2008-12-15
最后登录
2022-5-2

楼主
zengbing 发表于 2009-12-30 14:07:28 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
capture erase "c:\temp\temp.dta";
global i = 72;
   while $i <=88
     {;
        use $tradedata\imp$i , clear;
        gen year = yr+1900;
        rename name country;
        rename cusvalue valimp;
        gen  tempsic72 = real(substr(sic72,1,4)); drop sic72;
        rename tempsic sic72;
        gen cnum = real(ccode);
        keep cnum ccode country sic72 valimp duty year;
        drop if cnum == 999999 | cnum == 999991;
        gen oecddummy=0;
        replace oecddummy=1 if
              cnum ==    710360 | cnum ==    550400 | cnum ==    530560 | cnum ==    211240
            | cnum ==    532080 | cnum ==    552460 | cnum ==    532500 | cnum ==    532800
            | cnum ==    533000 | cnum ==    553520 | cnum ==    533720 | cnum ==    533800
            | cnum ==    413920 | cnum ==    535280 | cnum ==    715540 | cnum ==    555780
            | cnum ==    536200 | cnum ==    537240 | cnum ==    557520 | cnum ==    557560
            | cnum ==    447920 | cnum ==    538260 ;
        gen valimpLDC = valimp*(oecddummy==0);
        gen valimpmex = valimp*(country=="MEXICO");
        gen valimpcan = valimp*(country=="CANADA");
        egen valimpall = sum(valimp), by(sic72 year);
        keep if sic72 >=2000 & sic72< 4000;
       collapse (sum) valimpmex valimpcan valimpLDC (mean) valimpall, by(sic72 year);
            if $i==72
                  {;
                         save "c:\temp\temp";
                   };
            else if $i <= 88
                   {;
                        append using "c:\temp\temp";
                        save "c:\temp\temp", replace;
                    };        
           display $i;
           global i=$i+1;
         };      
                                       
    save c:\temp\imp7288a, replace;
二维码

扫码加我 拉你入群

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

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

关键词:请教高手 Collapse capture Global lapse 请教 程序 高手

回帖推荐

sungmoo 发表于9楼  查看完整内容

real()可以把字符串"123"变成数值123。 substr(sic72,1,4)取字符型变量sic72的观测值的头4个字符。

sungmoo 发表于8楼  查看完整内容

macro分两种:global与local。 global macro的引用,用$;local macro的引用,用`'。 引用macro,等价于输入macro所代表的代码。

本帖被以下文库推荐

沙发
爱萌 发表于 2009-12-30 14:15:30
这个程序写的比较流畅,可以当英文读,这是程序写的比较好的,
用我的程序大人同学的话说,这个程序比我写的好
最恨对我说谎或欺骗我的人

藤椅
爱萌 发表于 2009-12-30 14:16:25
功能就整理数据的,首先打开文件,然后按照规则进行处理,最后保存
最恨对我说谎或欺骗我的人

板凳
zsf2003 发表于 2009-12-30 14:18:34
capture erase "c:\temp\temp.dta";

capture是做什么功能用的

报纸
zsf2003 发表于 2009-12-30 14:19:40
while $i <=88
为什么用$符号啊

地板
zsf2003 发表于 2009-12-30 14:22:56
real()和substr(sic72,1,4)是什么函数

7
fentone 发表于 2009-12-30 20:41:50
高手相助呀,我也想知道读程序呀.看过一本STATA书,还是看不懂这些程序.

8
sungmoo 发表于 2009-12-30 21:08:28
zsf2003 发表于 2009-12-30 14:19 while $i
macro分两种:global与local。

global macro的引用,用$;local macro的引用,用`'。

引用macro,等价于输入macro所代表的代码。

9
sungmoo 发表于 2009-12-30 21:16:50
zsf2003 发表于 2009-12-30 14:22 real()和substr(sic72,1,4)是什么函数
real()可以把字符串"123"变成数值123。

substr(sic72,1,4)取字符型变量sic72的观测值的头4个字符。

10
fentone 发表于 2009-12-30 21:30:53
谢谢sungmoo

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

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