全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
13014 9
2012-02-22
我生成的数据里有一些是-1,但是这个值毫无意义,所以我想把它们替换成缺省值".",我的变量都是pr开头的嘛,我用
replace pr*=. if pr*==-1,
结果是pr* invalid name
还请大家帮忙看看,其实就是对所有的数据进行一个替换,除了第一个变量dm
二维码

扫码加我 拉你入群

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

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

全部回复
2012-2-22 23:26:31
我知道这个问题可能很简单,但是我真的整了半天也没弄出来,查了手册里的varlist 和 replace 还是一头雾水。。另外 除了手册 有啥别的推荐的教程没 只看过那个stata初级教程的word版,简单,不过写的是真好。因为论文三月初就要交初稿 所以就来不及系统的学stata了
二维码

扫码加我 拉你入群

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

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

2012-2-22 23:38:41
首先我想说的是,您的语法应当有误!
pr是保留字,您这样Stata应当看不懂,此外,即便您用replace prx*=. if prx*==-1通通都会出现错误的!
因为*这个不是在replace那边用,只能说您太创新了!
您要用这样的方法,那么请善用foreach

以下是一个例子请参考【例子是假设trunk与turn两变量在第一笔有-1这样无意义值,然后变成缺省值】

sysuse auto
order trunk turn
recode trunk turn (nonmiss=-1) in 1
*上面是模拟您可能的资料
replace t*=. if t*==-1
*上面就出现您所遇到的状况
foreach v of varlist trunk-turn{
   replace `v'=. if `v'==-1
}
*善用foreach可以达到您要的

如果您不坚持用replace那么,可能更棒的指令是recode,如果您很爱用*
请参考以下例子

sysuse auto
recode trunk turn (nonmiss=-1) in 1
*上面是模拟您可能的资料
recode t* (-1=.)
*上面式子可以达到您要的

祝 研安 & 顺心
二维码

扫码加我 拉你入群

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

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

2012-2-22 23:55:13
h3327156 发表于 2012-2-22 23:38
首先我想说的是,您的语法应当有误!
pr是保留字,您这样Stata应当看不懂,此外,即便您用replace prx*=. ...
真的谢谢你!其实你就跟我说该用哪个命令就行 我自己就去找就行 关键是有时候没方向真能憋死人 我那个pr*是在看varlist 的help里看到的 就想试试看能行不 结果不行。这么耐心的给我讲 我都不知道该说啥了。。。真心谢谢!我在看应用stata做回归和医学。。那两本书 争取简单的不麻烦大家 再次感谢你!
二维码

扫码加我 拉你入群

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

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

2012-2-23 00:06:54
santiagoo 发表于 2012-2-22 23:55
真的谢谢你!其实你就跟我说该用哪个命令就行 我自己就去找就行 关键是有时候没方向真能憋死人 我那个pr* ...
不用客气啦! 有帮到您就好! 虽然我废话可能比较多! 但比较容易懂吧! 我想~~~~
二维码

扫码加我 拉你入群

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

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

2012-2-23 00:11:23
h3327156 发表于 2012-2-23 00:06
不用客气啦! 有帮到您就好! 虽然我废话可能比较多! 但比较容易懂吧! 我想~~~~
废话?!好人 不跟你客气!
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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