楼主: susanyueer
1140 4

[数据管理求助] 求问一个关于if语句的简单问题 [推广有奖]

  • 0关注
  • 0粉丝

本科生

81%

还不是VIP/贵宾

-

威望
0
论坛币
3669 个
通用积分
0.1500
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
135 点
帖子
11
精华
0
在线时间
211 小时
注册时间
2017-7-10
最后登录
2023-11-21

楼主
susanyueer 发表于 2019-10-19 00:15:28 |AI写论文
5论坛币
我想要给数据进行一个分类,根据编号把可支配收入分类。我的指令如下:
gen kzpfenlei=.
if proid==1 | proid==9 {
  replace kzpfenlei=4
  }
if proid==2 | proid==11 |proid==10| proid==19 |proid==13 {
  replace kzpfenlei=3
  }
if proid==21 | proid==24 | proid==25 |proid==26 |proid==28 |proid==29 {
  replace kzpfenlei=1
  }
else{
   replace kzpfenlei=2
}

结果却是kzpfenlei这个变量所有的数据都变成了2,也就是只执行了“else”部分。请问我的问题出在哪里呢?

最佳答案

wb123456 查看完整内容

gen kzpfenlei=. if proid==1 | proid==9 { replace kzpfenlei=4 } elseif proid==2 | proid==11 |proid==10| proid==19 |proid==13 { replace kzpfenlei=3 } elseif proid==21 | proid==24 | proid==25 |proid==26 |proid==28 |proid==29 { replace kzpfenlei=1 } else{ replace kzpfenlei=2 }
关键词:简单问题 replace place 可支配收入 else

沙发
wb123456 发表于 2019-10-19 00:15:29
gen kzpfenlei=.
if proid==1 | proid==9 {
  replace kzpfenlei=4
  }
elseif proid==2 | proid==11 |proid==10| proid==19 |proid==13 {
  replace kzpfenlei=3
  }
elseif proid==21 | proid==24 | proid==25 |proid==26 |proid==28 |proid==29 {
  replace kzpfenlei=1
  }
else{
   replace kzpfenlei=2
}

藤椅
蓝色 发表于 2019-10-19 11:51:17
  1. gen kzpfenlei=.

  2. replace kzpfenlei=4 if proid==1 | proid==9
  3. replace kzpfenlei=3 if proid==2 | proid==11 |proid==10| proid==19 |proid==13
  4. replace kzpfenlei=1 if proid==21 | proid==24 | proid==25 |proid==26 |proid==28 |proid==29
  5. replace kzpfenlei=2 if kzpfenlei==.
复制代码

板凳
susanyueer 发表于 2019-10-19 13:38:54
蓝色 发表于 2019-10-19 11:51
谢谢,我知道这个写法,这样也可以,但我还是比较想知道我上面那个写法到底错在哪里……我自己没找到语法错误,可就是运行不对

报纸
蓝色 发表于 2019-10-19 17:22:38
susanyueer 发表于 2019-10-19 13:38
谢谢,我知道这个写法,这样也可以,但我还是比较想知道我上面那个写法到底错在哪里……我自己没找到语法 ...
你看看 if else的帮助
应该这个语句是不能用于你这种情况的

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

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