首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在循环中包含变量局部宏

在循环中包含变量局部宏
EN

Stack Overflow用户
提问于 2013-06-26 00:57:15
回答 1查看 618关注 0票数 0

使用forvalues循环,我正在合并一个包含400个单独数据集的列表。

这些数据集可以是10个不同的值(由数据集中的变量定义)中的一个:根据数据集的不同,我会使用不同的数据集merge。例如,如果播放器90是类型9,我可能希望与Type_9.dta合并,而不是与Type_8Type_7合并。

我想要的是这样的:

代码语言:javascript
复制
forvalues x = 1/400 {
    use "player_`x'.dta"

    * some way to turn the value of player type into a local macro l *

    merge 1:1 using "type_`l'.dta"
}

如何将变量类型放入宏中,该宏通过循环改变每种类型的类型?

EN

回答 1

Stack Overflow用户

发布于 2013-06-26 01:32:09

我不太清楚你的数据结构和最终目标,所以可能有更有效的方法来做到这一点。

如果player_type在每个player_*数据集中没有变化,您可以使用levelsof。这样做的特点是,如果player_type由于某种原因(如数据输入错误)而发生变化,则循环将出错。

代码语言:javascript
复制
forvalues x = 1/400 { 
   use "player_`x'.dta"
   levelsof player_type, local(l)
   merge 1:1 **some_id_var** using "type_`l'.dta" 
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17303228

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档