全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SPSS论坛
5886 2
2010-09-07
请问 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


谢谢
二维码

扫码加我 拉你入群

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

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

全部回复
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
不是一码事。
二维码

扫码加我 拉你入群

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

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

2010-9-7 21:21:19
明白了,谢谢回答
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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