首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在SPSS中,循环在一个Do重复。

在SPSS中,循环在一个Do重复。
EN

Stack Overflow用户
提问于 2021-12-03 11:34:47
回答 1查看 89关注 0票数 1

在使用SPSS软件进行数据管理时,我想看看一个人是否在某一天休病假,从一个指数日起的1到365天。因此,如果个人在这些日期中的任何一天请病假,我想要一个与该日相对应的变量中的"1“(v1-v365)。我尝试过LOOPDo Repeat-command的不同应用程序,但不得不意识到我并不完全理解它背后的逻辑。

数据:

“”“

代码语言:javascript
运行
复制
data list list / ID(F2) Index(F11) Start_Sick(F11) End_Sick(F11).

BEGIN DATA.

1, 13808188800, 13770777600, 13839125500

2, 13837564800, 13705811200, 13839020000

3, 13807497600, 13847548800, 13855017600

4, 13841107200, 13839120000, 13855017600

5, 13830307200, 13847068800, 13855017600

end data.

dataset name MyData WINDOW=FRONT.

Formats Index Start_Sick End_Sick(date11).

VARIABLE LABELS Start_Sick 'Start of a sick leave period'.

VARIABLE LABELS End_Sick 'End of a sick leave period'.

VARIABLE LABELS Index 'Index date'.

“我的非工作解决方案:”

代码语言:javascript
运行
复制
VECTOR v(365).

do repeat t = v1 to v365

 /v = v1 to v365.

LOOP cnt=1 TO 365 by 1.

IF Start_Sick LE datesum(Index,cnt,'days') and End_Sick GE datesum(Index,cnt,'days') t = 1.

END LOOP.

end repeat.

    EXECUTE.

‘当我运行时,我会在所有的v1到v365中得到一个案例中的'1’,否则都会丢失。我是使用了错误的工具还是我使用了错误的工具?

最良好的祝愿,比约恩

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-04 17:03:22

您只需要loop -这里的do repeat是冗余的。这是您自己的代码,清除了do repeat部件,并进行了一些调整--似乎工作得很好:

代码语言:javascript
运行
复制
VECTOR v(365).
LOOP #cnt=1 TO 365 by 1.
IF Start_Sick LE datesum(Index,#cnt,'days') and End_Sick GE datesum(Index,#cnt,'days') v(#cnt) = 1.
END LOOP.
EXECUTE.
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70213686

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档