我有一个庞大的数据集,拥有约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次非常耗时。
有更好的方法吗?
答案 0 :(得分:2)
使用具有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
}