全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
1151 3
2013-10-17
假设我有a b c d a2 b2 c2 d2八个变量。
目标:如果a为空值则用a2代替a,以此类推……
这样写循环出错,应该怎么改呢?谢谢!

foreach i of varlist a b c d{
  replace `i'=`i'2 if `i'==.
  }
二维码

扫码加我 拉你入群

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

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

全部回复
2013-10-17 13:56:48
不知道
试试
local m "a b c d"
foreach  n of local m{
replace `n'=`n'2  if `n'==.
}
二维码

扫码加我 拉你入群

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

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

2013-10-17 16:00:54
a2 b2 c2 d2 also需要定义
二维码

扫码加我 拉你入群

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

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

2013-10-17 19:41:32
没有问题啊



. list

     +-----------------------------------+
     | a   b   c   d   a2   b2   c2   d2 |
     |-----------------------------------|
  1. | 1   2   3   4    1    2    3    4 |
  2. | 1   .   3   .    1    2    3    4 |
  3. | 1   .   3   .    1    2    3    4 |
  4. | .   2   3   .    1    2    3    4 |
  5. | .   2   3   .    1    2    3    4 |
     |-----------------------------------|
  6. | .   2   3   .    1    2    3    4 |
  7. | .   2   3   .    1    2    3    4 |
  8. | .   2   3   .    1    2    3    4 |
  9. | .   2   3   .    1    2    3    4 |
10. | 2   .   .   4    1    2    3    4 |
     |-----------------------------------|
11. | 2   .   .   4    1    2    3    4 |
12. | 2   .   .   4    1    2    3    4 |
     +-----------------------------------+

. do "C:\Users\QiangLi\AppData\Local\Temp\STD00000000.tmp"

. foreach i of varlist a b c d{
  2.   replace `i'=`i'2 if `i'==.
  3.   }
(6 real changes made)
(5 real changes made)
(3 real changes made)
(8 real changes made)

.
end of do-file

. list

     +-----------------------------------+
     | a   b   c   d   a2   b2   c2   d2 |
     |-----------------------------------|
  1. | 1   2   3   4    1    2    3    4 |
  2. | 1   2   3   4    1    2    3    4 |
  3. | 1   2   3   4    1    2    3    4 |
  4. | 1   2   3   4    1    2    3    4 |
  5. | 1   2   3   4    1    2    3    4 |
     |-----------------------------------|
  6. | 1   2   3   4    1    2    3    4 |
  7. | 1   2   3   4    1    2    3    4 |
  8. | 1   2   3   4    1    2    3    4 |
  9. | 1   2   3   4    1    2    3    4 |
10. | 2   2   3   4    1    2    3    4 |
     |-----------------------------------|
11. | 2   2   3   4    1    2    3    4 |
12. | 2   2   3   4    1    2    3    4 |
     +-----------------------------------+



二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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