【问题标题】:Adding grouped sum of one variable to the original data将一个变量的分组总和添加到原始数据中
【发布时间】:2020-10-07 21:29:45
【问题描述】:

我的数据如下:

Sample_ID Member_ID gender         relative_ID      relative_desc
1         11         male           1               Head
1         12         female         2               Partener
1         13         female         3               Child
1         14         female         3               Child
2         21         female         1               Head
2         22         male           3               Child
3         31         male           1               Head
3         32         female         2               Partener
4         41         male           1               Head
4         42         female         2               Partener
4         43         male           3               Child
4         44         male           3               Child
5         51         female         1               Head
5         52         female         3               Child
5         53         male           3               Child
5         54         male           3               Child

和许多其他专栏.. 我想知道的是每个家庭有多少个孩子 我做了很多搜索并尝试通过以下方式取消 relative_desc 变量:

COMPUTE Child = (relative_desc = "Child").

然后尝试用中断的样本 ID 对聚合求和

DATASET DECLARE AggHouse.
AGGREGATE OUTFILE='AggHouse'
  /BREAK SAMPLE_ID
  /Child = SUM(Child).

这会将每个家庭中的样本 id 和孩子数移动到新数据集中,我所做的是将新的 sum 列合并到原始数据集中,但我得到了很多缺失的数据,还有其他建议吗? 非常感谢。

【问题讨论】:

  • 有没有办法用 R 语言做同样的事情?
  • 答案当然是“是”,但您应该使用R 标签开始一个新问题以获取代码建议(在您搜索现有答案之后)

标签: count aggregate spss


【解决方案1】:

您可以直接聚合到原始数据集中,省去自己的工作和麻烦:

AGGREGATE OUTFILE=* mode=addvariables overwritevars=yes
  /BREAK SAMPLE_ID
  /Child = SUM(Child).

注意 - overwritevars 子命令允许您用总和重写 Child 变量。或者,您可以将总和放入一个新变量中,例如 SumChild

如果您确实希望聚合到新数据集,然后将其重新附加回原始数据集,请在您的帖子中添加您用于该操作的语法,以便我们查看问题所在。

【讨论】:

  • 它工作正常,我不需要聚合到新数据,但没有它我不知道该怎么做,非常感谢
  • 有没有办法用 R 语言做同样的事情?
猜你喜欢
  • 2019-07-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-08
  • 1970-01-01
  • 2013-06-29
相关资源
最近更新 更多