Stata 基于唯一ID将大型数据集拆分为较小的组

Stata 基于唯一ID将大型数据集拆分为较小的组,stata,Stata,我有一个大约600000个观测值的大型数据集。我需要把它分成20组,每组30000人 我没有像建议的那样的分类组,因此使用: keep if group == `i' 我想这对我不起作用 我的数据集如下所示: ID Company 1 Aat 2 Adt 3 Bat 4 Bjt 5 Coffee . . . . . . 600,500 Zyborgg 目前,我正在

我有一个大约600000个观测值的大型数据集。我需要把它分成20组,每组30000人

我没有像建议的那样的分类组,因此使用:

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
如果id<600000&id>=550000,则保留
然而,对于50000人的群体来说,这样做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
}

使用带有
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
}