Statistics 将不平衡面板转换为平衡/在单一条件下丢弃多个观测值

Statistics 将不平衡面板转换为平衡/在单一条件下丢弃多个观测值,statistics,missing-data,spss,Statistics,Missing Data,Spss,有一个包含三个变量的数据集-ID、工资和年份,它是一个不平衡的面板。有两个问题: 我想删除此类ID上的所有数据,这些ID有一个年,没有观察结果。很快,我想把我的不平衡面板转换成平衡面板,删除每个造成这种“不平衡”的id 例如,如果一个ID为1的家伙在年=2010年没有报告他的工资(因此没有观察到年=2010年和ID=1),我想删除ID为的所有数据 这似乎是一个流行的问题,但我在Google和StackOverflow上找到的都是针对Stata的多个解决方案,而对于SPSS则没有 更新:我用COU

有一个包含三个变量的数据集-ID工资年份,它是一个不平衡的面板。有两个问题:

  • 我想删除此类ID上的所有数据,这些ID有一个,没有观察结果。很快,我想把我的不平衡面板转换成平衡面板,删除每个造成这种“不平衡”的id
  • 例如,如果一个ID为1的家伙在=2010年没有报告他的工资(因此没有观察到=2010年和ID=1),我想删除ID为的所有数据

    这似乎是一个流行的问题,但我在Google和StackOverflow上找到的都是针对Stata的多个解决方案,而对于SPSS则没有

    更新:我用COUNTIF Excel函数解决了这个问题。我创建了一个变量,用于计算某些ID出现在数据集中的次数,并保留此函数=年数的观测值,从而删除不平衡的ID。然而,我仍然迫切需要解决第二个问题:)

  • 第二个问题与第一个问题几乎相同-我想删除此类ID上的所有数据,当这些ID报告工资=0时,有
  • 例如,如果一个ID为1的家伙在=2010年报告了工资=0,我想删除ID为的所有数据

    如果SPSS中有一个填充命令来平衡不平衡的面板和缺少的值,那么第二个问题的解决方案似乎同时也是第一个问题的解决方案


    更新2:我还使用了工资和ID上的COUNTIFS解决了这个问题。Excel是万能的,赞美Excel。

    这将解决两个任务:

    recode Wage (0=sysmis).
    AGGREGATE /OUTFILE=* MODE=ADDVARIABLES /BREAK=ID /Wage_nmiss=NMISS(Wage).
    select if Wage_nmiss=0.
    execute.
    

    我不知道这些数据是用来做什么的,但如果是重要的事情,你应该认真考虑删除缺少变量的观测值

    通常,尤其是在工资数据中,缺少的值会告诉您一些应该记录的值(链接到,关键字:MAR、MCAR、MNAR))。没有简单的方法可以消除样本中的这种偏见,但简单地删除观察结果并不是一个严肃的选择。有一些算法能够根据数据集中的其他值巧妙地插补缺失值


    如果您愿意,我可以多花一点时间,帮助您找到一个合适的算法来插补缺失的值。

    为什么要在Excel中做这些脏活,而三行简单的语法可以自动完成所有工作?对于某些工作,Excel可能提供比SPSS更好的解决方案,但这绝对不是其中之一。