Bookmark and Share

Notice: On March 31, it was announced that Statalist is moving from an email list to a forum. The old list will shut down on April 23, and its replacement, is already up and running.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

st: If-condition

From   Eric Booth <>
To   "" <>
Subject   st: If-condition
Date   Fri, 2 Jul 2010 21:14:18 +0000



Here's one way to do it:
webuse union, clear

//setup the example data//
keep idcode year age black union south
replace year = 1900+year
ds year idcode, not
foreach x in `r(varlist)' {
		bys idcode: egen ln_mean_`x' = mean(`x')
		drop `x'

//create "insample" indicator for last obs in panel//
sort idcode year
by idcode: g insample = 1 if _n ==_N
ta year insample, miss   

//use "insample" to select the last observation, despite the year//
regress ln_mean_age ln_mean_south ln_mean_union ln_mean_black if insample==1

 ~ Eric

Eric A. Booth
Public Policy Research Institute
Texas A&M University
Office: +979.845.6754

> From	  "Mareike" <>
> To	  <>
> Subject	  st: If-condition
> Date	  Fri, 2 Jul 2010 21:55:25 +0200
> Dear Statagroup,
> the original data I'm working with has a panel structure but as a robustness
> test, I now would like to run an OLS regression on average values.
> Therefore, I used mean values to build a cross section of the independent
> variables and defined the dependent variable to be the sum of its values
> over the whole observation period. 
> In order to tell Stata to use only one observation per country I originally
> added an If-condition that restricted the sample to include only the latest
> observation available in the dataset
> 	regress ln_sum_y ln_mean_x1 ln_mean_x2 mean_x3 ln_mean_x4 if year
> ==2008
> But the problem is that for some countries there are no observations for
> 2008, but only for earlier years. So I need to tell Stata to use the latest
> observation that is available for a certain country. As easy as it may sound
> I could not come up with an idea of how to define the If-condition in the
> right way. 
> I would be really grateful if anybody of you could come up with an idea.
> Mareike

*   For searches and help try:

© Copyright 1996–2016 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   Site index