-1

我正在处理一个大型数据集(1800 万个观测值)。

我有一个X特别需要分析的连续变量,它是一个具有大约 6k 水平的因子变量。我需要帮助创建一个循环函数,该函数对于因子变量的每个级别,将为我提供 的平均值和标准差X,保存平均值和标准差,然后进入下一个因子级别并重复。

我认为循环将解决这个问题,因为我需要对大约 6,000 个因子水平重复此过程。我特别想知道如何告诉 Stata 一旦完成前一个因子级别就进入下一个因子级别,并保存平均值和标准差,而不会覆盖前一个因子级别的这些统计数据。

理想情况下,我可以将因子的每个级别的输出保存到 Excel 工作表中,每一行代表一个因子级别,三列:A将是因子级别,B将是平均值,C将是标准差。

4

1 回答 1

1

不需要循环;只需使用 Stata 的collapse命令:

set seed 123
clear
set obs 100000
gen x = runiform()
gen a = runiformint(1,60)

collapse (mean) m=x (sd) sd=x, by(a)
于 2017-03-30T15:14:00.047 回答