Loops SPSS:循环中的警告命令
我人为地操纵了以下数据,以理解Loops SPSS:循环中的警告命令,loops,spss,Loops,Spss,我人为地操纵了以下数据,以理解SPSS中的循环命令 JYEAR POSITION 89 89 2 89 1 2 1 99 1 99 99 2 空格表示缺少值 我写下了语法: DO IF (JYEAR GT 90). COMPUTE BONUS=0. ELSE IF (POSITION EQ 1). COMPUTE BONUS=.75. END
SPSS
中的循环命令
JYEAR POSITION
89
89 2
89 1
2
1
99 1
99
99 2
空格表示缺少值
我写下了语法:
DO IF (JYEAR GT 90).
COMPUTE BONUS=0.
ELSE IF (POSITION EQ 1).
COMPUTE BONUS=.75.
END IF.
EXECUTE.
我想我会得到以下结果:
JYEAR POSITION BONUS
89
89 2
89 1 .75
2
1 .75
99 1 0
99 0
99 2 0
但我得到了以下警告:
Warning # 142. Command name: EXECUTE
LOOP has no effect on this command.
Error # 4095. Command name: EXECUTE
The transformations program contains an unclosed LOOP, DO IF, or complex file
structure. Use the level-of-control shown to the left of the SPSS Statistics
commands to determine the range of LOOPs and DO IFs.
Execution of this command stops.
发布的代码不会生成该错误消息。是否有包含此代码的外部循环未显示
还要注意,EXECUTE命令是多余的。这只会导致不必要的额外数据传递。我不知道为什么会发生这种情况,但这不是因为外循环问题,因为我也遇到过这种情况,在我的情况下,没有外循环。这是整个共享代码。所以SPSS能够做到这一点
只要不使用EXECUTE命令,我就得到了正确的结果,只需运行挂起的转换。根本不清楚为什么EXECUTE会导致这样的问题,也找不到任何原因。显示的代码在语法上没有错误,因此错误消息来自其他地方。仅供参考,所列代码中的第5行的计算结果不会达到
.75
。SPSS评估缺失数据的受害者之一。由于这不是答案,您可能应该对此发表评论。评论需要50%的声誉。为了对此进行辩护,我确实指出,简单地取消“执行”就可以让它对我起作用,尽管我确实需要手动运行挂起的转换