Hello,

I'm trying to use a list of variables that have suffixes based on years, using a loop. However, some variables only exist in several years, say we have comp_expnd2017 in the file, but not comp_expnd2015 in the file. When I use the loop, how can I ignore variables that don't exist in the file, and continue reading variables that exist?

I looked into capture confirm variable, but it seems that it only works to confirm whether a variable exists in a varlist, not in a data file that isn't fully read into Stata memory. Thank you.

Code:
* Doing analysis based on years
forvalues Y = 1999(2)2017 {

* read in variables needed
#delimit ;
use
personid
famid`Y'
age_head`Y'
income`Y'
hsng_status`Y'
if_mortgage`Y'
housing_expnd`Y'
childcare_expnd`Y'
healthcare_expnd`Y'
edu_expnd`Y'
trans_expnd`Y'
food_expnd`Y'
entmt_expnd`Y'
trips_expnd`Y'
clothing_expnd`Y'
comp_expnd`Y' // only exist for comp_expnd2017, but not comp_expnd2015 or any years before 2017
using $madir/real_sav_master.dta, clear; // this master file contains all the variables
#delimit cr

* some other codes for analysis, omitted here
}