楼主: zwa222
16481 3

[其他] 求教: 关于STATA中的变量的观测值的替换问题! [推广有奖]

  • 1关注
  • 9粉丝

已卖:902份资源

副教授

69%

还不是VIP/贵宾

-

威望
0
论坛币
1796 个
通用积分
14.1658
学术水平
9 点
热心指数
13 点
信用等级
4 点
经验
3799 点
帖子
579
精华
0
在线时间
1226 小时
注册时间
2006-11-29
最后登录
2025-11-15

楼主
zwa222 发表于 2010-8-11 17:26:04 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
本人用到一个如下数据结构(局部)


       +---------------------------------------------------------------------------+
       | _ID         _X         _Y             name                          ename |
       |---------------------------------------------------------------------------|
21605. |  64   471.7542   1353.709           广东省               Guangdong Sheng  |
21606. |  64   468.5187    1350.24           广东省               Guangdong Sheng  |
21612. |  64   411.5869   1359.944           广东省               Guangdong Sheng  |
21613. |  65          .          .   香港特别行政区    Xiangkong Tebiexingzhengqu  |
21635. |  65   412.0259   1359.492   香港特别行政区    Xiangkong Tebiexingzhengqu  |
21636. |  65   411.5869   1359.944   香港特别行政区    Xiangkong Tebiexingzhengqu  |
21645. |  66   751.6053   1509.959           福建省                  Fujian Sheng  |
21646. |  66   755.4126   1508.053           福建省                  Fujian Sheng  |


现在想对 _ID 变量的观测值进行变换.即是对于同一省市(name相同的),让其_ID 的取值也变为相同.
我采用的命令为:
replace _ID=64 if name=="广东省"
replace _ID=68 if name=="香港特别行政区"
replace _ID=72 if name=="福建省"


运行后,结果让人大为苦恼:
.replace _ID=64 if name="广东省"
type mismatch


"类型不匹配?"------为何? 不理解啊!

而且,就是用同样的命令,只要把后面的if条件那一截去掉了,结果马上就成功了!

. replace _ID=64
(21654 real changes made)

这是怎么回事呀?精疲力竭啊!请高手指点一下吧.谢谢啊!


二维码

扫码加我 拉你入群

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

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

关键词:Stata tata 观测值 mismatch replace 广东省 香港

沙发
nihao111 发表于 2010-8-11 18:17:56
replace _ID=64 if name=="广东省"

藤椅
zwa222 发表于 2010-8-11 18:52:42
nihao111 发表于 2010-8-11 18:17
replace _ID=64 if name=="广东省"
谢谢!
其实我上面的命令形式上也是这样子的,但运行就是有问题!我把你的命令拷过去,结果还真是行!
这提醒了我,我把那边的原来的程序,,拷贝粘贴在此对话框里,然后再粘贴回去成迷do文档,.居然就可以成功运行了!命令本身没有进行任何的修改!可能是由于我为了简便,我原来的程序通过了word的替换处理.不识别吧!
再次感谢!

板凳
jzhyue 发表于 2010-8-11 19:40:41
zwa222 发表于 2010-8-11 18:52
nihao111 发表于 2010-8-11 18:17
replace _ID=64 if name=="广东省"
谢谢!
其实我上面的命令形式上也是这样子的,但运行就是有问题!我把你的命令拷过去,结果还真是行!
这提醒了我,我把那边的原来的程序,,拷贝粘贴在此对话框里,然后再粘贴回去成迷do文档,.居然就可以成功运行了!命令本身没有进行任何的修改!可能是由于我为了简便,我原来的程序通过了word的替换处理.不识别吧!
再次感谢!
可能64前后有空格,就成string

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

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