Statalist The Stata Listserver


[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

st: RE: A calculation problem


From   Jesper Kjær Hansen <kjaer.hansen@oncable.dk>
To   <statalist@hsphsun2.harvard.edu>
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/



© Copyright 1996–2014 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index