I would generate new variables every time that corr_tof* takes the same value as tof. Here below the dataex
Code:
* Example generated by -dataex-. For more info, type help dataex clear input float id int year long(type_cert1 cert1 product_cert1) float corr_tof1 long(type_cert2 cert2 product_cert2) float(corr_tof2 tof) 1 2008 6 1 22 8 0 0 0 0 10 1 2009 6 1 22 8 0 0 0 0 10 2 2008 6 1 22 8 0 0 0 0 10 3 2008 6 1 22 8 0 0 0 0 10 4 2008 6 1 22 8 0 0 0 0 10 4 2009 6 1 22 8 0 0 0 0 8 4 2011 6 1 22 8 0 0 0 0 8 4 2012 6 1 22 8 0 0 0 0 8 5 2008 6 1 22 8 0 0 0 0 8 6 2008 6 1 22 8 0 0 0 0 10 7 2008 6 1 22 8 0 0 0 0 10 8 2008 6 1 22 8 0 0 0 0 10 8 2014 6 1 22 8 0 0 0 0 8 9 2014 1 1 64 4 0 0 0 0 14 9 2016 1 1 64 4 0 0 0 0 7 9 2017 1 1 64 4 0 0 0 0 7 9 2018 1 1 64 4 0 0 0 0 14 9 2019 1 1 64 4 0 0 0 0 14 10 2008 6 1 22 8 0 0 0 0 10 11 2008 6 1 22 8 0 0 0 0 10 12 2008 6 1 22 8 0 0 0 0 10 12 2009 1 1 9 10 0 0 0 0 10 12 2010 1 1 9 10 0 0 0 0 8 12 2011 1 1 9 10 0 0 0 0 10 12 2012 1 1 9 10 0 0 0 0 8 12 2014 6 1 22 8 0 0 0 0 8 12 2015 6 1 22 8 0 0 0 0 8 13 2008 6 1 22 8 0 0 0 0 10 13 2009 1 1 9 10 0 0 0 0 10 14 2008 6 1 22 8 0 0 0 0 10 14 2009 6 1 22 8 0 0 0 0 10 14 2011 6 1 22 8 0 0 0 0 8 15 2008 6 1 22 8 0 0 0 0 10 15 2009 6 1 22 8 0 0 0 0 10 16 2018 3 6 64 4 0 0 0 0 8 16 2019 3 6 64 4 0 0 0 0 8 17 2009 6 1 22 8 0 0 0 0 10 17 2011 6 1 22 8 0 0 0 0 8 18 2008 3 6 64 4 0 0 0 0 10 18 2010 3 6 64 4 0 0 0 0 10 18 2011 3 6 64 4 0 0 0 0 8 19 2012 6 1 22 8 0 0 0 0 8 20 2008 6 1 22 8 0 0 0 0 10 21 2008 6 1 22 8 0 0 0 0 10 22 2008 6 1 22 8 0 0 0 0 10 22 2011 6 1 22 8 0 0 0 0 8 23 2008 6 1 22 8 0 0 0 0 10 23 2011 6 1 22 8 0 0 0 0 8 23 2012 6 1 22 8 0 0 0 0 8 23 2014 1 1 9 10 6 1 22 8 10 23 2016 6 1 22 8 0 0 0 0 8 23 2017 6 1 22 8 0 0 0 0 8 24 2008 6 1 22 8 0 0 0 0 10 25 2008 6 1 22 8 0 0 0 0 8 26 2009 1 1 9 10 0 0 0 0 10 26 2010 1 1 9 10 0 0 0 0 8 26 2011 1 1 9 10 0 0 0 0 8 26 2012 1 1 9 10 0 0 0 0 8 26 2013 6 1 22 8 0 0 0 0 8 27 2008 6 1 99 4 3 6 64 4 4 27 2010 3 6 64 4 0 0 0 0 4 27 2011 3 6 64 4 0 0 0 0 4 27 2012 3 6 64 4 0 0 0 0 4 27 2013 3 6 64 4 0 0 0 0 4 27 2014 3 6 64 4 0 0 0 0 4 27 2015 8 3 103 4 3 6 64 4 4 27 2016 3 6 64 4 6 1 103 4 4 27 2017 3 6 64 4 0 0 0 0 4 27 2018 3 6 64 4 0 0 0 0 4 27 2019 3 6 64 4 0 0 0 0 4 28 2008 6 1 99 4 0 0 0 0 7 28 2010 1 1 64 4 0 0 0 0 7 28 2011 6 1 103 4 3 6 64 4 4 28 2012 8 3 99 4 3 6 64 4 4 28 2013 3 6 64 4 1 1 64 4 4 28 2014 1 1 64 4 3 6 64 4 7 28 2016 8 3 103 4 1 1 64 4 7 28 2017 1 1 64 4 3 6 64 4 7 28 2018 3 6 64 4 1 1 64 4 7 28 2019 1 1 64 4 3 6 64 4 7 29 2009 1 1 9 10 0 0 0 0 10 29 2010 3 6 64 4 1 1 9 10 8 29 2011 3 6 64 4 0 0 0 0 8 29 2012 3 6 64 4 0 0 0 0 8 29 2013 1 1 9 10 3 6 64 4 8 29 2014 3 6 64 4 0 0 0 0 8 29 2015 3 6 64 4 0 0 0 0 8 30 2008 6 1 22 8 0 0 0 0 10 31 2008 6 1 22 8 0 0 0 0 10 32 2008 6 1 22 8 0 0 0 0 10 32 2009 1 1 9 10 0 0 0 0 10 33 2009 1 1 9 10 0 0 0 0 10 34 2008 6 1 38 8 0 0 0 0 10 35 2008 6 1 22 8 0 0 0 0 10 35 2010 1 1 9 10 0 0 0 0 8 35 2011 1 1 9 10 0 0 0 0 8 35 2012 1 1 9 10 0 0 0 0 8 36 2009 6 1 22 8 0 0 0 0 10 36 2010 6 1 22 8 0 0 0 0 8 37 2008 6 1 22 8 0 0 0 0 10 end
Code:
// Generate a new variable containing the same as the related original variable ONLT IF corr_tof*=tof g new_type_cert1=type_cert1 if corr_tof1==tof g new_cert1=cert1 if corr_tof1==tof g new_product_cert1=product_cert1 if corr_tof1==tof
I (naively) tried the following:
Code:
global corr_tof corr_tof1 corr_tof2 foreach X of varlist type_cert1 type_cert2 cert1 cert2 product_cert1 product_cert2 { g new_`X'=`X' if $corr_tof==tof }
invalid 'corr_tof2'
r(198)
Many thanks,
F.
0 Response to Generate new variable(s) conditional on different variables taking a specific value
Post a Comment