终于被我想到了,可以这么解决。比如你的数据时这样的。暂时限定为是s1-s4,四个变量,多了也一样的。
egen a=anycount(s1-s4), values(0)
egen b=rownonmiss(s1-s4)
egen c=rowtotal(s1-s4)
gen d=c/(b-a)
第一句,用egen首先生成一个数值变量,这个变量代表的是从s1-s4里面所有的等于0的值有多少个,比如code=1时,a就等于1,code=2时,a就等于0(因为code=2时,没有等于0的数)。
第二句,用egen命令在生成一个每一行里面没有缺失值的变量的个数,这里你的数据里面都没有缺失值,所以b都等于4。
第三句,在生成,每一行的总和数,但是这个总和数计算的时候是包括零的。所以算均值的时候,要把每一行等于0的数减去。
就有第四句。按照这种算法,简单的数据看来是没有问题的。你可以用你的大数据试试。如果真的能行,论坛币要给我哦。