# share-health.R recodes health indicators to 0/1
# Called within share-data.R

##############################################################################
h(d,which(d$pf_sy<1970),38,'mergeid$|^pf_sy$|^pf$|sep|szr|sep|^pf_sy_t')
h(d,,38,'mergeid$|^pf_01$|^pf_sy$|^pf$|sep|^pf_ret_sy$|^pf_ret$|sep|^w_pf_oa_y$|^w_pf_oa$|sep|j_total|jl_ey|w_jl_year_end$') 
h(d,,38,'mergeid$|^w_pf_oa_y|^w_pf_oa$|^w_pa_oa$|sep|^pf_sy$|^pf$|^pa$|sep|^pf_ret_sy$|^pf_ret$|^pa_ret$')
h(d,,10,'mergeid$|^b_ym|^w_age_ym|w_lh')

##############################################################################
d[, all := 1L ]
cn			<- colnames(d)

##############################################################################
# VARIABLES
##############################################################################

f_cn(d, 'chronic|gali|adl|iadl|bmi|eurod|mobility|maxgrip')
f_cn(d, 'alive')
f_cn(d, 'rhfo|ghto|ghih|rhih|gfg|rfg|rggp|gggp')
f_cn(d, 'doctor|hospital')
f_cn(d, 'orient|wllft|wllst|fluency|numeracy|numeracy2|memory')
f_cn(d, 'lifesat|lifehap|lifex|politics|bfi')

h(d,,38,'mergeid$|chronic|gali|adl|iadl|bmi|eurod|mobility|maxgrip')
h(d,,38,'mergeid$|w_alive|w_m_alive')
h(d,,38,'mergeid$|gali|eurod')
h(d,,38,'mergeid$|chronic|mobility')
h(d,,38,'mergeid$|_adl|_iadl')
h(d,,38,'mergeid$|maxgrip|bmi')
h(d,,38,'mergeid$|wllft|wllst')
h(d,,38,'mergeid$|orient|fluency')
h(d,,38,'mergeid$|numeracy')
h(d,,38,'mergeid$|memory')
h(d,,38,'mergeid$|bf')
h(d,,38,'mergeid$|life')
h(d,,38,'mergeid$|politics')
h(d,,38,'mergeid$|sphus')

h(d,,38,'mergeid$|per_ha')
h(d,,38,'mergeid$|esmoked|drinking')  # Yes No
h(d,,38,'mergeid$|symptoms')

##############################################################################
# RECODE VARIABLES
##############################################################################
f_d(d, 'chronic') # mean 3.8, med 4
h(d,,10,'mergeid$|chronic')
vars		<- cn[grep( '^w_chronic\\.[1-7]', cn)]; vars
vars_i	<- gsub("w_chronic", "w_chronic3", vars); vars_i 
for (i in 1:length(vars)) { d[ , vars_i[i] 	:= f_int_01(d, fvv('d$', vars[i]), 3, 13, 0, 13) ]  }
h(d,,,'mergeid|^w_chr|^w_i_chr')

##############################################################################
table(d$w_gali.4) # mean 3.8, med 4
vars		<- cn[grep( '^w_gali\\.[1-7]', cn)]; vars
vars_i	<- gsub("w_gali", "w_gali_lim", vars); vars_i 
for (i in 1:length(vars)) { d[ , vars_i[i] 	:= f_01(d, fvv('d$', vars[i]), '^Limited') ]  }
h(d,,10,'mergeid$|gali')

##############################################################################
# A threshold of four has been suggested for depression caseness 
# (Castro-Costa, et al., 2007; Castro-Costa et al., 2008; Dewey & Prince, 2005).
descr(d$w_eurod.4)
vars		<- cn[grep( '^w_eurod\\.[1-7]', cn)]; vars
vars_i	<- gsub("w_eurod", "w_eurod4", vars); vars_i 
for (i in 1:length(vars)) { d[ , vars_i[i] 	:= f_int_01(d, fvv('d$', vars[i]), 4, 13, 0, 13) ]  }
h(d,,10,'mergeid|w_eurod')

##############################################################################
descr(d$w_adl.4)
vars		<- cn[grep( '^w_adl\\.[1-7]', cn)]; vars
vars_i	<- gsub("w_adl", "w_adl1", vars); vars_i 
for (i in 1:length(vars)) { d[ , vars_i[i] 	:= f_int_01(d, fvv('d$', vars[i]), 1, 20, 0, 20) ]  }
h(d,,10,'mergeid|w_adl')

##############################################################################
descr(d$w_iadl.4)
vars		<- cn[grep( '^w_iadl\\.[1-7]', cn)]; vars
vars_i	<- gsub("w_iadl", "w_iadl1", vars); vars_i 
for (i in 1:length(vars)) { d[ , vars_i[i] 	:= f_int_01(d, fvv('d$', vars[i]), 1, 20, 0, 20) ]  }
h(d,,10,'mergeid|w_iadl')

##############################################################################
descr(d$w_bmi.4)
descr(d$w_bmi.7)
vars		<- cn[grep( '^w_bmi\\.[1-7]', cn)]; vars
vars_i	<- gsub("w_bmi", "w_bmi30", vars); vars_i 
for (i in 1:length(vars)) { d[ , vars[i] 		:= f_NA(d, fvv('d$', vars[i]), -1, 100) ]  }
for (i in 1:length(vars)) { d[ , vars_i[i] 	:= f_int_01(d, fvv('d$', vars[i]), 30, 100, 0, 100) ]  }
h(d,,, 'bmi')

##############################################################################
f_d(d, 'maxgrip')
# weak for grip<25
vars		<- cn[grep( '^w_maxgrip\\.[1-7]', cn)]; vars
for (i in 1:length(vars)) { d[ , vars[i] 	:= f_NA(d, fvv('d$', vars[i]), -1, 100) ]  }
vars_i	<- gsub("w_maxgrip", "w_maxgrip25", vars); vars_i 
for (i in 1:length(vars)) { d[ , vars_i[i] 	:= f_int_01(d, fvv('d$', vars[i]), 25, 100, 0, 100) ]  }
h(d,,10,'mergeid|w_maxgrip')

##############################################################################
h(d,,38,'mergeid$|wllft|wllst')  # mean 4.3, 2.5, md 4, 2: bad memory <=4, and <=2
descr(d$w_wllft.4)
vars		<- cn[grep( '^w_wllft\\.[1-7]', cn)]; vars
vars_i	<- gsub("w_wllft", "w_wllft5", vars); vars_i 
for (i in 1:length(vars)) { d[ , vars_i[i] 	:= f_int_01(d, fvv('d$', vars[i]), 5, 20, 0, 20) ]  }
h(d,,10,'mergeid|w_wllft')

##############################################################################
descr(d$w_wllst.4)
vars		<- cn[grep( '^w_wllst\\.[1-7]', cn)]; vars
vars_i	<- gsub("w_wllst", "w_wllst5", vars); vars_i 
for (i in 1:length(vars)) { d[ , vars[i] 		:= f_NA(d, fvv('d$', vars[i]), -1, 200) ]  }
for (i in 1:length(vars)) { d[ , vars_i[i] 	:= f_int_01(d, fvv('d$', vars[i]), 5, 20, 0, 20) ]  }
h(d,,10,'mergeid|w_wllst')

##############################################################################
descr(d$w_fluency.4) # mean 17.4 and median 17
descr(d$w_fluency.7) # mean 17.4 and median 17
vars		<- cn[grep( '^w_fluency\\.[1-7]', cn)]; vars
vars_i	<- gsub("w_fluency", "w_fluency20", vars); vars_i 
for (i in 1:length(vars)) { d[ , vars[i] 		:= f_NA(d, fvv('d$', vars[i]), -1, 200) ]  }
for (i in 1:length(vars)) { d[ , vars_i[i] 	:= f_int_01(d, fvv('d$', vars[i]), 20, 200, 0, 200) ]  }
h(d,,10,'mergeid|w_fluency')

##############################################################################
f_d(d,'w_mobility') # mean 1.4
vars		<- cn[grep( '^w_mobility\\.[1-7]', cn)]; vars
vars_i	<- gsub("w_mobility", "w_mobility3", vars); vars_i 
for (i in 1:length(vars)) { d[ , vars_i[i] 	:= f_int_01(d, fvv('d$', vars[i]), 3, 20, 0, 20) ]  }
h(d,,10,'mergeid|w_mob')
hf(d,'w_mob')

##############################################################################
descr(d$w_numeracy.7) # mean 4.46 and median 4
vars		<- cn[grep( '^w_numeracy\\.[1-7]', cn)]; vars
vars_i	<- gsub("w_numeracy", "w_numeracy5", vars); vars_i 
for (i in 1:length(vars)) { d[ , vars[i] 		:= f_NA(d, fvv('d$', vars[i]), -1, 200) ]  }
for (i in 1:length(vars)) { d[ , vars_i[i] 	:= f_int_01(d, fvv('d$', vars[i]), 5, 20, 0, 200) ]  }
h(d,,10,'mergeid|w_numeracy')

##############################################################################
descr(d$w_numeracy_two.7) # mean 4.46 and median 4
vars		<- cn[grep( '^w_numeracy_two\\.[1-7]', cn)]; vars
vars_i	<- gsub("w_numeracy_two", "w_numeracy_two", vars); vars_i 
for (i in 1:length(vars)) { d[ , vars[i] 		:= f_NA(d, fvv('d$', vars[i]), -1, 200) ]  }
for (i in 1:length(vars)) { d[ , vars_i[i] 	:= f_int_01(d, fvv('d$', vars[i]), 5, 20, 0, 200) ]  }
h(d,,10,'mergeid|w_numeracy_two')
	
##############################################################################
f_cn(d, 'lifesat|lifehap|lifex|politics|bfi')
h(d,,10,'mergeid|w_life')
descr(d$w_lifesat.7) # mean 7 and median AC012, 10 = satisfied
descr(d$w_lifesat.4) # mean 7 and median 7
vars		<- cn[grep( '^w_lifesat\\.[1-7]', cn)]; vars
vars_i	<- gsub("w_lifesat", "w_lifesat_yes", vars); vars_i 
for (i in 1:length(vars)) { d[ , vars[i] 		:= f_NA(d, fvv('d$', vars[i]), -1, 200) ]  }
for (i in 1:length(vars)) { d[ , vars_i[i] 	:= f_int_01(d, fvv('d$', vars[i]), 7, 20, 0, 200) ]  }
h(d,,10,'mergeid|w_lifesat')
hf(d,'w_lifesat')

##############################################################################
table(d$w_lifehap.4) # Never     Often    Rarely Sometimes
vars		<- cn[grep( '^w_lifehap\\.[1-7]', cn)]; vars
vars_i	<- gsub("w_lifehap", "w_lifehap_oft", vars); vars_i 
for (i in 1:length(vars)) { d[ , vars_i[i] 		:= f_01(d, fvv('d$', vars[i]), '^Often$') ]  }
h(d,,10,'mergeid|w_lifehap')

##############################################################################
descr(d$w_politics.7) # mean 4, med 5
vars		<- cn[grep( '^w_politics\\.[1-7]', cn)]; vars
vars_i	<- gsub("w_politics", "w_politics5", vars); vars_i 
for (i in 1:length(vars)) { d[ , vars[i] 		:= f_NA(d, fvv('d$', vars[i]), -1, 200) ]  }
for (i in 1:length(vars)) { d[ , vars_i[i] 	:= f_int_01(d, fvv('d$', vars[i]), 5, 20, 0, 200) ]  }
h(d,,10,'mergeid|w_politics')

##############################################################################
h(d,,38,'mergeid$|esmoked|drinking')  # Yes No
table(d$w_esmoked.4) # Never     Often    Rarely Sometimes
vars		<- cn[grep( '^w_esmoked\\.[1-7]', cn)]; vars
vars_i	<- gsub("w_esmoked", "w_esmoked_yes", vars); vars_i 
for (i in 1:length(vars)) { d[ , vars_i[i] 		:= f_01(d, fvv('d$', vars[i]), '^Yes$') ]  }
h(d,,10,'mergeid|w_esmoked')

##############################################################################
table(d$w_drinking.4) # Never     Often    Rarely Sometimes
vars		<- cn[grep( '^w_drinking\\.[1-7]', cn)]; vars
vars_i	<- gsub("w_drinking", "w_drinking_yes", vars); vars_i 
for (i in 1:length(vars)) { d[ , vars_i[i] 		:= f_01(d, fvv('d$', vars[i]), '^Yes$') ]  }
h(d,,10,'mergeid|w_drinking')

##############################################################################
h(d,,38,'mergeid$|symptoms')  # not coded after wave 2
descr(d$w_symptoms.4) # mean 3.8, med 4
vars		<- cn[grep( '^w_symptoms\\.[1-7]', cn)]; vars
vars_i	<- gsub("w_symptoms", "w_symptoms4", vars); vars_i 
for (i in 1:length(vars)) { d[ , vars[i] 		:= f_NA(d, fvv('d$', vars[i]), -1, 200) ]  }
for (i in 1:length(vars)) { d[ , vars_i[i] 	:= f_int_01(d, fvv('d$', vars[i]), 4, 20, 0, 200) ]  }
h(d,,10,'mergeid|w_symptoms')

##############################################################################
h(d,,38,'mergeid$|sphus')  # Excellent      Fair      Good      Poor Very good 
table(d$w_sphus.4) # Never     Often    Rarely Sometimes
vars		<- cn[grep( '^w_sphus\\.[1-7]', cn)]; vars
vars_i	<- gsub("w_sphus", "w_sphus_poor", vars); vars_i 
for (i in 1:length(vars)) { d[ , vars_i[i] 		:= f_01(d, fvv('d$', vars[i]), '^Poor$') ]  }
h(d,,10,'mergeid|w_sphus')

##############################################################################
cat("Data on health processed", "\n")
hf(d,'w_adl')
hf(d,'w_iadl')