【问题标题】:Converting unbalanced panels into balanced/dropping multiple observations on single condition在单一条件下将不平衡面板转换为平衡/删除多个观察值
【发布时间】:2016-09-07 07:24:25
【问题描述】:

有一个包含 3 个变量的数据集 - IDWageYear ,这是一个不平衡的面板。有2个问题:

  1. 我想删除 所有 此类 ID 上的数据,其中有 Year 没有观察。很快,我想将我的不平衡面板转换为平衡,删除每个造成这种“不平衡”的 id。

例如,如果一个 ID = 1 的人没有在 Wage 中报告他的 Wage strong>Year = 2010(因此没有观察到 Year = 2010 和 ID = 1),我想删除 ID = 1 的所有数据。

这似乎是一个热门问题,但我在 Google 和 StackOverflow 上找到的只是 Stata 的多种解决方案,而 SPSS 则没有。

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

  1. 第二个问题与第一个问题几乎相同 - 我想删除 所有 此类 ID 的数据,其中有一个 他们报告工资 = 0

例如,如果一个 ID = 1 的人报告 Wage = 0 在 Year = 2010,我想删除 ID = 1 的所有数据。

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

更新 2:我也在 WageID 上使用 COUNTIFS 解决了这个问题。 Excel无所不能,赞美Excel。

【问题讨论】:

  • 当三行简单的语法会自动完成所有事情时,为什么在 Excel 中进行所有这些肮脏的工作?对于某些工作,Excel 可能提供比 SPSS 更好的解决方案,但这绝对不是其中之一。

标签: statistics missing-data spss


【解决方案1】:

这将解决这两个任务:

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

【讨论】:

    【解决方案2】:

    我不知道这些数据的用途,但如果它很重要,您应该认真重新考虑删除缺少变量的观察结果。

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

    如果您愿意,我可以投入更多时间帮助您找到合适的算法来估算缺失值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-30
      • 2018-11-24
      • 2017-01-19
      • 2019-06-18
      • 2020-06-07
      • 2018-03-15
      • 1970-01-01
      • 2021-06-01
      相关资源
      最近更新 更多