全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
2400 4
2012-04-24
各位,跪求解答,有这样一个变量,模式如下:
1
1
1
1
0
1
0
1
1
0
各位,如何能保留所有
1
0
的观察值?有没有一个简单命令,还是要循环?
二维码

扫码加我 拉你入群

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

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

全部回复
2012-4-24 10:22:48
即相邻的两个观察值分别为1和0就保留,否则删除。有没有这样一个命令啊?
二维码

扫码加我 拉你入群

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

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

2012-4-24 10:46:34
顶一下,急切想知道。
二维码

扫码加我 拉你入群

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

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

2012-4-24 12:39:46
*只保留"先1后0"的相邻两个观测值

keep if (x&!x[_n+1])|(!x&x[_n-1]&(x[_n-1]<.))

*附:设x是数值型变量

if x
等价于
if x!=0

if !x
等价于
if x==0

Stata可以把普通的数值型变量理解为逻辑型变量(该型变量有且只有两值:“真”与“假”):将非零值理解为“真”,将零值理解为“假”;同时把逻辑型变量理解为特定的数值型变量(即0-1变量:"1"代表"真","0"代表"假")。于是,在表达逻辑值意义上,一个数值型变量唯一对应一个0-1变量(非零值对应1,零值对应0)。Stata处理逻辑型变量本质上只是处理0-1变量。

对于某观测值,if后面的表达式若成立(或“真”),则Stata将该表达式整体理解为1,且对该观测值执行操作,否则Stata将该表达式整体理解为0,且不对该观测值执行操作。特别地,若if后面的表达式只是某个数值型变量(特例是,只是某个0-1变量),则Stata直接根据该变量各取值所对应的逻辑值意义执行操作。
二维码

扫码加我 拉你入群

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

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

2012-4-24 16:30:34
真是太好了!正对! 谢谢sungmoo!
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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