如何查找具有多个下标的变量的平均值?

时间:2017-10-05 15:32:22

标签: stata

假设我有一个变量X_ijt,其中i,j和t是有限的。

我想找到i,j和t的每一种可能组合的平均值。

因此,如果i = {1},j = {1,2},并且t = {1,2,3},我将需要6种不同的方法。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

不确定您希望存储此平均值的位置,但如果我按字面意思阅读您的问题:

foreach i of numlist 1{
    foreach j of numlist 1 2{
        foreach t of numlist 1 2 3{
            sum x if(i==`i' & j==`j' & t==`t'), meanonly
        }
    }
}

如果ij和/或t有多个值,并且您不想将它们全部打到numlists,那么您可以levelsof

qui levelsof i, local(iLevels)
qui levelsof j, local(jLevels)
qui levelsof t, local(tLevels)

foreach i of local iLevels{
    foreach j of local jLevels{
        foreach t of local tLevels{
            sum x if(i==`i' & j==`j' & t==`t'), meanonly
        }
    }
}