【问题标题】:How to use * in Stata?如何在Stata中使用*?
【发布时间】:2021-01-15 03:39:12
【问题描述】:

我想知道如何在 Stata 中策略性地使用 * 来使我的 do 文件更干净。

我想用缺少的(.) 替换999 的值,以获得一长串变量,每年一个。

这是我现有的代码:

replace age_1997 = . if age_1997 == 999
replace age_1998 = . if age_1998 == 999
replace age_1999 = . if age_1999 == 999

有什么方法可以更有效地做到这一点吗?我尝试了以下方法,但没有成功。

replace age* = . if age* == 999

【问题讨论】:

  • 一个不同的问题是你有一个广泛的布局,在单个观察中包含不同时间的信息。较长的布局使许多 Stata 操作更容易。
  • 好点,感谢您的观察!

标签: stata


【解决方案1】:

有一个专门针对这个问题的命令

mvdecode age*, mv(999) 

这不一定比循环快:

foreach v of var age* { 
    replace `v' = . if `v' == 999 
} 

请注意,help replace 是明确的:该命令一次只能对一个变量起作用。

【讨论】:

  • 非常感谢! mvdecode 命令正是我所需要的!
猜你喜欢
  • 2015-03-03
  • 1970-01-01
  • 2014-04-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多