楼主: santiagoo
13081 9

请问如何将所有数据中确定等于一个值的变量全都替换成另一个? [推广有奖]

  • 1关注
  • 0粉丝

已卖:80份资源

大专生

41%

还不是VIP/贵宾

-

威望
0
论坛币
81 个
通用积分
2.3200
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
563 点
帖子
36
精华
0
在线时间
48 小时
注册时间
2006-4-25
最后登录
2025-12-10

楼主
santiagoo 发表于 2012-2-22 21:29:22 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
我生成的数据里有一些是-1,但是这个值毫无意义,所以我想把它们替换成缺省值".",我的变量都是pr开头的嘛,我用
replace pr*=. if pr*==-1,
结果是pr* invalid name
还请大家帮忙看看,其实就是对所有的数据进行一个替换,除了第一个变量dm
二维码

扫码加我 拉你入群

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

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

关键词:invalid replace place Valid name replace invalid 如何

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

藤椅
h3327156 发表于 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=.)
*上面式子可以达到您要的

祝 研安 & 顺心

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

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

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

7
santiagoo 发表于 2012-2-23 00:37:12
"recode t* (-1=.)"
额滴神啊

8
bbwade 发表于 2012-2-29 10:05:05
mvdecode _all, mv(-1)

9
cissi 学生认证  发表于 2015-11-3 16:52:24
h3327156 发表于 2012-2-22 23:38
首先我想说的是,您的语法应当有误!
pr是保留字,您这样Stata应当看不懂,此外,即便您用replace prx*=. ...
太谢谢了!

10
18061753167 发表于 2015-11-25 15:55:39
h3327156 发表于 2012-2-22 23:38
首先我想说的是,您的语法应当有误!
pr是保留字,您这样Stata应当看不懂,此外,即便您用replace prx*=. ...
您好,我想问下in 1  里面的1  表达的意思是?

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-25 10:38