折叠stata中的所有变量

问题描述

我正在尝试 collapse 我的数据集中的所有变量,如下所示。

date     number_of_patients   health_center      vaccinations
6/25/21  1                    healthcentername   1
6/18/21  2                    healthcentername   2
10/9/20  2                    healthcentername   1
10/2/20  2                    healthcentername   1
10/16/20 1                    healthcentername   1

我正在尝试按日期 collapse 计数:

number_of_patients  healthcentername  vaccinations
8                   healthcentername  6

我正在尝试在所有医疗中心执行此操作,但如果没有确定我想要折叠的特定变量,我似乎无法做到这一点。不幸的是,这并不完全可行,因为我在数据框中有 3500 个变量。

解决方法

您需要以某种方式告诉 Stata 您想要按健康中心对哪些变量求和,但这并不意味着您需要将它们全部输入。您可以使用 ds 创建变量名称列表。如果您使用选项 not,则 ds 将列出除您提到的变量名称之外的所有变量。像这样:

* Example generated by -dataex-. For more info,type help dataex
clear
input str8 date byte number_of_patients str16 health_center byte vaccinations
"6/25/21"  1 "healthcentername" 1
"6/18/21"  2 "healthcentername" 2
"10/9/20"  2 "healthcentername" 1
"10/2/20"  2 "healthcentername" 1
"10/16/20" 1 "healthcentername" 1
end

*List all variables but the one mentioned and store list in r(varlist)
ds date health_center,not

*Sum by health center all but the variables explicitly excluded above
collapse (sum) `r(varlist)',by(health_center)