
This is how I have done it in .chk
before file define n #.# define vtot ###.# end
mean4 before entry n = 0 vtot = 0 if var1 <> . then n = n+1 vtot = vtot + var1 endif if var2 <> . then n = n+1 vtot = vtot + var2 endif if var3 <> . then n = n+1 vtot = vtot + var3 endif if var4 <> . then n = n+1 vtot = vtot + var4 endif if n > 0 then mean4 = vtot / n else mean4 = . endif end end
Use float for n and vtot or else you have to convert them before calculating mean
In Analysis, you can use the iif function to simplify this.
gen n = iif(var1<>.,1,0)+iif(var2<>.,1,0) etc gen vtot = iif(var1<>.,var1,0)+ etc gen mean4 = iif(n>0,vtot/n,.)
Jamie
On 2010-12-27, Bernard wrote:
Hello,
Thank you for your reply, but I specify my problem:
- Variables in the questionnaire
Var1 ## Var2 ## Var3 ## Var4 ## Mean4 ##.##
In CHECK file (or ANALYSIS) mean4 mean4 = (var1+var2+var3+var4)/4 end
But sometimes, var2, for example, can fail (blank):
in this case, "mean4" is the sum (Var1 to var4) divided by 3!
- My question is, how to count automatically (CHECK or ANALYSIS) the number of variables (var1 to var4) not missing?
Thank you for your help.