2116 3

[数据管理求助] stata 循环 求大神帮忙看下 [推广有奖]

  • 1关注
  • 0粉丝

大专生

18%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0.0004
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
718 点
帖子
24
精华
0
在线时间
45 小时
注册时间
2012-4-27
最后登录
2020-6-4

楼主
风如歌断流年 发表于 2016-3-4 09:47:32 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
各位好,小硕一枚,现下在处理数据,想将m:m的合并变成1:m的合并,所以需要把其中一份data依次保留第1、2、3……个观测值,然后与主数据合并,之后append这些分拆的合并好的data。

以下是我写的循环(第一次自己写,很乱),循环不下去(提示invalid 1),请各位老师同学指教!

use "D:\……\data.dta" , clear
  preserve  
    qui forvalues  i= 1/55391 {
       keep if _n=`i'
       save "D:\……\newdata_`i'.dta" , replace
       }
  restore


use "D:\……\main_data.dta"
      qui forvalues `j' =1/55391{
      merge 1:m 变量1 变量2  using "D:\……\newdata_`j'.dta"
      keep if _merge==3
      save "D:\……\newdataafter_`j'.dta" , replace
      }

use "D:\……\newdataafter_1.dta" , clear
    forvalues i= 2/55391{
    append using "D:\……\newdataafter_"`i'".dta"
    }
save "D:\……\alldata.dta", replace

二维码

扫码加我 拉你入群

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

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

关键词:Stata tata forvalues forvalue preserve replace invalid

沙发
夏目贵志 发表于 2016-3-5 10:13:19
qui forvalues `j' =
改成
qui forvalues j =
试试

藤椅
风如歌断流年 发表于 2016-3-6 11:57:48
夏目贵志 发表于 2016-3-5 10:13
qui forvalues `j' =
改成
qui forvalues j =
你好啊,我昨天用while  做出来了。这好几次问问题你都来帮忙。谢啦!!^_^

板凳
夏目贵志 发表于 2016-3-7 03:14:43
风如歌断流年 发表于 2016-3-6 11:57
你好啊,我昨天用while  做出来了。这好几次问问题你都来帮忙。谢啦!!^_^
不客气~

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

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