全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
13792 7
2014-08-06
我在使用stata global 和 local命令时,出现了如下的一个问题。特向各位高手请教:

所用到的数据集test_year的内容如下:
QQ截图20140806183127.png


代码如下:
复制代码
显示的结果是
    1
    2
    3
    4
    5

但是我单独使用
   
复制代码

时能显示
    2012
    2011
    2010
    2009
    2008


我使用local 命令时
   
复制代码

显示的结果是
    2012
    2011
    2010
    2009
    2008

请问这是什么原因?


二维码

扫码加我 拉你入群

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

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

全部回复
2014-8-6 19:47:20
数据集(请下载后将扩展名改为dta)
附件列表

test_year.doc

大小:355 Bytes

 马上下载

二维码

扫码加我 拉你入群

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

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

2014-8-9 16:19:06
木有高手了解这个情况吗?
二维码

扫码加我 拉你入群

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

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

2014-8-10 04:14:35
用global最后一行要加大括号,应该是display ${y`i'},不然的话,$只对y有作用,辐射不到`i'
不用loop的时候,global会将y和它后面的东西识辨为一个变量名
用local的时候,你已经写了display `y`i'',也就是说把y和`i'已经通过单引号连在一起了,所以就没有这个问题
二维码

扫码加我 拉你入群

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

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

2014-8-10 14:33:12
xiaofengshen 发表于 2014-8-10 04:14
用global最后一行要加大括号,应该是display ${y`i'},不然的话,$只对y有作用,辐射不到`i'
不用loop的时 ...
太感谢了。一直以来这个问题都困扰我。
二维码

扫码加我 拉你入群

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

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

2014-8-10 14:35:36
xiaofengshen 发表于 2014-8-10 04:14
用global最后一行要加大括号,应该是display ${y`i'},不然的话,$只对y有作用,辐射不到`i'
不用loop的时 ...
也就是说,在用loop的时候,如果要用到global定义的变量,并且里面还包含了与loop有关的变量时,要用{}括起来。如果不用loop的时候则没问题。我的理解对吧?
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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