多个Stata变量中所有值的平均值
我有两个变量,我想要一个汇总表,其中包含两列中所有非缺失值的平均值(单个数字)(变量记录的内容相同,但在我导入的原始数据中,它们被记录为单独的变量),而不考虑某个内容在哪一列 更具体地说,如果我有多个Stata变量中所有值的平均值,stata,data-analysis,Stata,Data Analysis,我有两个变量,我想要一个汇总表,其中包含两列中所有非缺失值的平均值(单个数字)(变量记录的内容相同,但在我导入的原始数据中,它们被记录为单独的变量),而不考虑某个内容在哪一列 更具体地说,如果我有 Var1 Var2 1 . 12 5 3 2 4.5 . . 2 我想得到Var1和Var2中所有未缺失值的平均值,即(1+12+3+4.5+5+2+2)/
Var1 Var2
1 .
12 5
3 2
4.5 .
. 2
我想得到Var1和Var2中所有未缺失值的平均值,即(1+12+3+4.5+5+2+2)/7
我的一个想法是创建一个变量,比如说Var3
,在这里我“附加”Var1和Var2,即生成一个变量
Var3
1
12
3
4.5
.
.
5
2
.
2
只需使用我从summary Var3
获得的表,但似乎没有简单的方法“附加”变量。我该怎么办?你可以这么做
. list
+-------------+
| var1 var2 |
|-------------|
1. | 1 . |
2. | 12 5 |
3. | 3 2 |
4. | 4.5 . |
5. | . 2 |
+-------------+
. preserve
. stack var1 var2, into(var)
Warning: data in memory will be lost.
Press any key to continue, Ctrl-Break to abort.
. su var
Variable | Obs Mean Std. Dev. Min Max
-------------+---------------------------------------------------------
var | 7 4.214286 3.717718 1 12
. l
+--------------+
| _stack var |
|--------------|
1. | 1 1 |
2. | 1 12 |
3. | 1 3 |
4. | 1 4.5 |
5. | 1 . |
|--------------|
6. | 2 . |
7. | 2 5 |
8. | 2 2 |
9. | 2 . |
10. | 2 2 |
+--------------+
. restore
. l
+-------------+
| var1 var2 |
|-------------|
1. | 1 . |
2. | 12 5 |
3. | 3 2 |
4. | 4.5 . |
5. | . 2 |
+-------------+
在不修改数据的情况下,可以使用
summary
获得两个变量的平均值
clear
input Var1 Var2
1 .
12 5
3 2
4.5 .
. 2
end
list
/* +-------------+
| Var1 Var2 |
|-------------|
1. | 1 . |
2. | 12 5 |
3. | 3 2 |
4. | 4.5 . |
5. | . 2 |
+-------------+ */
sum Var1
local sum_v1 = r(sum)
local N_v1 = r(N)
sum Var2
local sum_v2 = r(sum)
local N_v2 = r(N)
local average_v1_v2 = (`sum_v1' + `sum_v2') / (`N_v1' + `N_v2')
di `average_v1_v2'
*4.2142857