这里想到的是使用postfile
.
这是一个简单的例子。首先,我设置了几个数据集的示例。你已经有了这个。
clear
forval i = 1/10 {
set obs 100
gen foo = `i' * runiform()
save test`i'
clear
}
现在我设置postfile
. 我需要设置一个句柄,将使用什么变量,以及将使用什么文件。虽然我使用数字变量来保存文件标识符,但使用字符串变量可能更典型。此外,循环文件名可能比这更具挑战性。fs
from SSC 是一个方便的命令,可帮助将一组文件名放入本地宏中;此处未说明其用途。
postfile mypost what mean using alltest.dta
forval i = 1/10 {
use test`i', clear
su foo, meanonly
post mypost (`i') (`r(mean)')
}
现在刷新结果
postclose mypost
看看我们有什么。
u alltest
list
+-----------------+
| what mean |
|-----------------|
1. | 1 .5110765 |
2. | 2 1.016858 |
3. | 3 1.425967 |
4. | 4 2.144528 |
5. | 5 2.438035 |
|-----------------|
6. | 6 3.030457 |
7. | 7 3.356905 |
8. | 8 4.449655 |
9. | 9 4.381101 |
10. | 10 5.017308 |
+-----------------+
我在这里没有使用任何全局宏(不是全局变量);你不应该需要。