我有一个大型数据集,其中包含~600,000个观测值。我需要把它分成 20 组,每组 30,000 人。
我没有像 Stata FAQ 建议的那样的分类组,因此请使用:
keep if group == `i'
我想对我不起作用。
我的数据集如下所示:
ID Company
1 Aat
2 Adt
3 Bat
4 Bjt
5 Coffee
. .
. .
. .
600,500 Zyborgg
目前,我正在使用以下内容对其进行分解:
keep if id < 600000 & id >= 550000
但是,对于50,000 人的团体来说,这样做 13 次非常耗时。
有没有更好的方法?
使用具有600
人工生成的观察结果的玩具数据集:
clear
set obs 600
generate var = rnormal()
generate group = int((_n - 1) / 30) + 1
save data, replace
以下内容对我有用:
forvalues i = 1 / 20 {
use data if group == `i', clear
save data`i', replace
}