# st: RE: A calculation problem

 From Jesper Kjær Hansen To Subject st: RE: A calculation problem Date Mon, 25 Sep 2006 23:20:08 +0200

```On 2006/09/25 Jia Xiangping [jiajoseph@googlemail.com] wrote:
> obs v25 v38  v51 v64 p25  p38  p51  p64
>  1    01   12  39        0.7   1.8   0.6   0.5
>  2    01   19  21         .     1.6   0.8   0.7
>  3    01   34  19        0.6   .      0.6    0.7
>  4    09   19  01        1.5   0.9   0.9
>  5   19    25  07
>  6   12    31
>  7   25
>
> While v25 v38 v51……stand for the code of different crops, p25 p38
> p51…stand for the correspond price. Things become remarkably tricky
> when some price are missing. For example, crop 01 has price 0.7 in
> observation 1, but price is missing in observation 2.
>
> Now I want to calculate the average price of different crops. Is that
> possible? I am now like an ant on hot brick.

Assuming you want to replace your price variable with a mean
variable (constant over all obs.), Philipp's suggestion

>  egen mean_p25=mean(p25)

is the way to go. Alternatively, if you want to replace the
missing values of a price variable with the mean of the non-
missing obs. of the same variable, you should:

foreach var of varlist p25 p38 p51 p64 {
sum `var' , meanonly
replace `var' = `r(mean)' if missing(`var')
}

Perhaps you could be more precise on what you want?

-- Jesper K. Hansen

*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/
```