count - 将一个变量的分组总和添加到原始数据中
问题描述
我的数据看起来像:
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 列合并到原始数据集中,但是我得到了很多丢失的数据,还有其他建议吗?太感谢了。
解决方案
您可以直接聚合到原始数据集中,省去自己的工作和麻烦:
AGGREGATE OUTFILE=* mode=addvariables overwritevars=yes
/BREAK SAMPLE_ID
/Child = SUM(Child).
注意 -子命令允许您用总和overwritevars
重写变量。Child
或者,您可以将总和放入一个新变量中,例如SumChild
.
如果您确实更喜欢聚合到新数据集,然后将其重新附加回原始数据集,请在您的帖子中添加您用于该操作的语法,以便我们了解问题所在。
推荐阅读
- asp.net - 如何解决错误 503 服务不可用
- java - 为什么我的数组列表总是大小为 1?
- node.js - 首次响应快递应用程序后如何发送更多响应
- python - 需要帮助了解 CVAE 背后的数学原理
- mongodb - MongoDB获取日期在某年之前的记录
- git - 从远程分支推送时,Git webhook 不会触发 Jenkins 构建
- javascript - Javascript 正则表达式(字母)\n(字母)
- javascript - 如何使用 WebStorage 不显示任何内容
- r - 如何从位于单个 shp 文件中的样带中提取数据
- ios - 后台应用程序会导致 UIImagePickerController 过早返回