if(m==1||m==2||m==4){ if(adv_id<=6){ all.var.keep = c("sname", "age_start_yrs", "age_end_yrs", "age_class", "grp","hydroyear","failure_1eqdead",covariate.collect.index, mediator.name[m],adverse.name[1:6]) Complete.data= DSI_data[, all.var.keep] }else{ all.var.keep = c("sname", "age_start_yrs", "age_end_yrs", "age_class", "grp","hydroyear","failure_1eqdead",covariate.collect.index, mediator.name[m],adverse.name[adv_id]) Complete.data= DSI_data[, all.var.keep] } }else{ if(adv_id<=6){ all.var.keep = c("sname", "age_start_time","age_end_time","status", "state","season","age_sample","age_group", "grp","hydroyear","gc",covariate.collect.index,adverse.name[1:6]) Complete.data= GC_survival_data[, all.var.keep] }else{ all.var.keep = c("sname", "age_start_time","age_end_time","status", "state","season","age_sample","age_group", "grp","hydroyear","gc", covariate.collect.index,adverse.name[adv_id]) Complete.data= GC_survival_data[, all.var.keep] } Complete.data$gc=log(Complete.data$gc) # Complete.data$cycling = as.integer(Complete.data$state=="Cycling") # Complete.data$pregnany = as.integer(Complete.data$state=="Pregnant") # Complete.data$dry = as.integer(Complete.data$season=="Dry") } ##Standardize Complete.data[, covariate.collect.index] = scale(Complete.data[, covariate.collect.index] ) if(m==3){ # add categorical variables covariate.index.dsi = c("state","season",covariate.index.dsi) covariate.collect.index=union(covariate.index.dsi,covariate.index) } if(adv_id<=6){ Complete.data$adv_rain = as.integer(Complete.data$adv_rain) Complete.data$adv_density = as.integer(Complete.data$adv_density) Complete.data$adv_sib = as.integer(Complete.data$adv_sib) Complete.data$adv_mom = as.integer(Complete.data$adv_mom) Complete.data$adv_mom_sci = as.integer(Complete.data$adv_mom_sci) Complete.data$adv_mom_rank = as.integer(Complete.data$adv_mom_rank) } Complete.data$adv_use=Complete.data[,adverse.name[adv_id]] Complete.data$m_use=Complete.data[,mediator.name[m]] complete_id=which(!apply(Complete.data,1,FUN=function(x){any(is.na(x))})) Complete.data=Complete.data[complete_id,] Complete.data$hydroyear = as.factor(Complete.data$hydroyear) #Normalize the time to [0,1] Interval if(m==3){ range.y=range(Complete.data$age_sample) Complete.data$t=(Complete.data$age_sample-range.y[1]+0.0001)/(range.y[2]-range.y[1]+0.0002) }else{ range.y=range(Complete.data$age_class) Complete.data$t=(Complete.data$age_class-range.y[1]+0.0001)/(range.y[2]-range.y[1]+0.0002) } Complete.data$treatment_factor= as.factor(Complete.data[,adverse.name[adv_id]]) delete.sname = unique(Complete.data$sname)[which(table(Complete.data$sname)<=2)] Complete.data = subset(Complete.data,!sname%in%delete.sname)