创建一个变量以在SPSS中保存具有最大值的关联

时间:2016-08-01 17:44:32

标签: spss

我需要创建一个变量来指示学生与之相关的小学。我每个学生在一年内有5个学校变量。第一个学校变量总是填充学生的5位数学校代码;如果学生一年就读5所学校,则填充所有5个变量;如果他们只参加1所学校,则只填充第一个变量。我也有相应的变量与学生在每所学校的天数,最多180.我需要一个变量与学校的5位数学校代码,他们在学年的大部分时间。如果他们只上了一所学校,就应该是他们所关联的学校,无论他们参加了多少天。我可以使用DO IF命令和循环来创建此变量吗?下面的语法仅针对第一所学校,这是效率低下的,并不完全存在,因为它不能捕获低于90天阈值的学生(即,仅在不到90天的时间内就读于1所学校)。

更新8/2:我确实需要抓住一年半(90天)不在场的学生。可能有一个学生参加了5所学校,每个学校都有几天,最多可能是89岁。因此,无论学生上学多少天,我都希望将他与他参加学校的学校联系起来。最。关于学生是否在相同的天数上学两所学校,取第一名是足够的。谢谢你的回复。




       DO IF  (TotalMembership_1011_sum.1 >= 90).
          RECODE SchCode_1011.1 (21 thru 93=Copy) INTO PrimarySchool_1011.
        END IF.
        VARIABLE LABELS  PrimarySchool_1011 'primary school 2010-11 (90+ days membership)'.
        EXECUTE.



1 个答案:

答案 0 :(得分:0)

试试这个:

compute PrimarySchool_1011=0.
compute MaxEnroll=max(Membership_1011_1 to Membership_1011_5).
do repeat days=Membership_1011_1 to Membership_1011_5/code=SchCode_1011_1 to SchCode_1011_5.
      if PrimarySchool_1011=0 and days>=90 and days=MaxEnroll PrimarySchool_1011=code.
end repeat.
execute.
VARIABLE LABELS  PrimarySchool_1011 'primary school 2010-11 (90+ days membership)'.

一些注意事项:

  1. 我不清楚你的解释90天的门槛应该如何 实施。在这个语法中,我所做的就是把它排除在外 如果没有一所学校有90天或更长时间的游戏 (PrimarySchool_1011获取值0)。如果你需要什么 不同请解释。
  2. 您需要决定在两所学校分享的情况下该怎么做 最大天数。上面的语法将选择第一个 发生最大数量。如果你想要选择 最后一次出现你可以使用它而不是do repeat循环中的行:
    if days>=90 and days=MaxEnroll PrimarySchool_1011=code.
  3. 使用" TO"约定(如在SchCode_1011_1 TO SchCode_1011_5中)只有在连续这些变量时才有效 在文件中订购。如果他们不是,请说出他们的所有名字 代替。