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/