全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
993 2
2024-06-19
变量中有很多后缀相同的变量,例如temp1 temp2 ....tempN,N是不确定的。如何对这些变量循环操作呢?
方法一:

foreach v of temp*{

        replace `v'=. if `v'==0


}



//这个方法报错 -“temp* invalid name”

方法二:
local A temp*
dis "`A'"
foreach v of local A{

        replace `v'=. if `v'==0

}

//这个方法local 把temp* 识别为一个变量名,而不是多个后缀相同的temp1 temp2 ....tempN

请问怎样可以成功循环这些后缀相同的变量呢
二维码

扫码加我 拉你入群

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

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

全部回复
2024-6-19 16:04:51
在STATA中处理带有通配符的变量列表需要使用`vars in`语法。你不能直接使用`foreach v of temp*`,但是你可以通过以下方式实现对所有以"temp"开头的变量进行循环:

```stata
foreach v of varlist temp* {
    replace `v'=. if `v'==0
}
```

这个命令会遍历数据集中所有前缀为“temp”的变量,并执行你指定的操作(在这里是将`v`中的零值替换为缺失值)。

为了确保你的代码能够正确运行,可以先检查一下是否存在以"temp"开头的变量:

```stata
local varnames : colfullnames temp*
di "Variables found: `varnames'"
foreach v of local varnames {
    replace `v'=. if `v'==0
}
```

这段代码首先使用`colfullnames`命令找到所有以“temp”开头的变量,然后在控制台上显示这些变量名。接下来,它会遍历每个找到的变量并执行替换操作。

以上方法应该能够解决你的问题,并正确处理带有特定后缀或前缀的一系列变量。

此文本由CAIE学术大模型生成,添加下方二维码,优先体验功能试用



二维码

扫码加我 拉你入群

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

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

2024-6-19 20:45:02
赵安豆 发表于 2024-6-19 16:04
在STATA中处理带有通配符的变量列表需要使用`vars in`语法。你不能直接使用`foreach v of temp*`,但是你可 ...
又快又准确!赵安豆真棒!
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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