楼主: peanut1008
5964 2

[学习资料] 请问 do if 与 if的区别 [推广有奖]

  • 0关注
  • 1粉丝

本科生

4%

还不是VIP/贵宾

-

威望
0
论坛币
1 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
854 点
帖子
80
精华
0
在线时间
34 小时
注册时间
2009-12-31
最后登录
2018-10-3

楼主
peanut1008 发表于 2010-9-7 00:41:09 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
请问 do if 与 if的区别
对于recode 我也有个问题
为什么有的时候是 sysmis=1 有时候是1=sysmis 两者的区别是什么  


我看这2个语句差不多啊
请问具体应用有什么区别呢?
例如 我看得一个例子
IF  ( totaldays_wandm >= 5) moderlevel2=1.
EXECUTE.
DO IF (M_trunandw_min< 30).
RECODE moderlevel2 (1=SYSMIS).
END IF.
EXECUTE.

我的理解
这个部分的意思就是 如果 totaldays_wandm这个变量大于等于5 ,那么moderlevel2赋值为1
如果M_trunandw_min< 30,那么moderlevel2返回来赋值为sysmis 包括上一次运行为1的值也赋值成sysmis 是这个意思么?
do if-end if 可以在中间插入别的语句 比如recode
而 if 之后直接跟的就是要做的事情,()里面的是条件
并且在运行过if 以后 如果要修改if中的值 最好用 do if 是这个意思么?

还有就是
if不能连用
DO IF (a = 1).
RECODE a1 a2 a3 (SYSMIS=0).
如果一定要用if 是不是要写3次
if(a=1)a1=0
if(a=1)a2=0
if(a=1)a3=0


谢谢
二维码

扫码加我 拉你入群

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

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

关键词:EXECUTE recode Moder Level Total

沙发
sunruoying0119 发表于 2010-9-7 12:10:43
peanut1008 发表于 2010-9-7 00:41
请问 do if 与 if的区别
对应不同的程序结构,基本用途差不多
对于recode 我也有个问题
为什么有的时候是 sysmis=1 有时候是1=sysmis 两者的区别是什么
差远了去了,旧值=新值,前面把系统缺失=1,后面1=系统缺失
DO IF (a = 1).
RECODE a1 a2 a3 (SYSMIS=0).
如果一定要用if 是不是要写3次
if(a=1)a1=0
if(a=1)a2=0
if(a=1)a3=0
同上条,前者a=1时,a1、2、3缺失=0;后者a=1,a1、2、3=0
不是一码事。
怒了,只回答有质量的提问......

藤椅
peanut1008 发表于 2010-9-7 21:21:19
明白了,谢谢回答

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 02:04