将一组观察结果合并到Stata中的一个变量中

时间:2014-04-21 07:24:53

标签: stata

我在Stata中运行了500次模拟,即我绘制了500个样本,每个样本包含10个观察结果。我想为每个样本生成一个均值,并将所有500个均值合并为一个变量,因为我需要绘制均值的直方图。目前,我有500个样本,名为X1X2,... X500,其中每个X都有10个元素。我想得到每个X的均值并绘制均值的直方图。有人可以告诉我该怎么做吗?我试图为平均值生成一个新变量,即X1mean = mean(X1),但这不起作用,因为所有10个空元素都将填充均值。

1 个答案:

答案 0 :(得分:1)

"请告诉我代码"问题在这里被广泛认为是偏离主题的。请参阅https://stackoverflow.com/help/on-topic:"要求代码的问题必须表明对要解决的问题的最小理解。包括尝试的解决方案,他们为什么没有工作,以及预期的结果。"

有多种方法可以做到这一点。一个是collapse,然后是xposereshape long。实际上,您可以首先生成500 x 10的组合样本。

另一个是循环遍历这样的变量

set obs 500 
gen mean = . 

quietly forval j = 1/500 { 
    su X`j', meanonly 
    replace mean = r(mean) in `j' 
} 

histogram mean 

您可能提到的是

等代码
egen X1mean = mean(X1) 

这没用,但不是因为你提到的原因,因为相同的值总是可以忽略:它没有用,因为类似的代码只会产生500多个变量。请注意,mean()不适用于generate,因为mean()egen函数。

您寻求的术语是观察,而不是元素。