#Supplement 1 # Fricker, G.A., Wolf, J.A., Saatchi, S.S., Gillespie, T.W. #Predicting spatial variations of tree species richness in tropical forests from high resolution remote sensing. Ecological Applications. # File name: 2015_02_03_multiscale_analysis.r #is the r-code for the multi-scale analysis. #This script can be used to generate the statistics for the multi-scale OLS pariwise regression analysis #i.e. Table 2. #input data d100 = read.csv(file = 'D:\\bci_publication\\r\\in\\TEMP\\d100.csv', header=T) d50 = read.csv(file = 'D:\\bci_publication\\r\\in\\TEMP\\d50.csv', header=T) d20 = read.csv(file = 'D:\\bci_publication\\r\\in\\TEMP\\d20.csv', header=T) #base example #var_d100=lm(sr_100~var, data = d100) # number = subplot size # var = remote sensing variable #key #sr = species richness #stem = #of stems #ba = basal area #Correlation Matrices for each spatial scale cor(d100) #1.0 ha (100 m ^2) cor(d50) #0.25 ha (50 m ^2) cor(d50) #0.04 ha (20 m ^2) # All pairwise regression analysis are between species richness and each remote sensing predictor variable #Repeated at each spatial scale. #100 m subplots #Plot variables stem_100=lm(sr_100~stem_100, data = d100) summary(stem_100) ba_100=lm(sr_100~ba_100, data = d100) summary(ba_100) #Canopy structure variables #mean canopy height mch=lm(sr_100~mch, data = d100) summary(mch) mch_sd=lm(sr_100~mch_sd, data = d100) summary(mch_sd) #Quickbird Texture qb_txt=lm(sr_100~qb_txt, data = d100) summary(qb_txt) qb_txt_sd=lm(sr_100~qb_txt_sd, data = d100) summary(qb_txt_sd) #Spectral Variables evi=lm(sr_100~evi, data = d100) summary(evi) evi_sd=lm(sr_100~evi_sd, data = d100) summary(evi_sd) ndvi=lm(sr_100~ndvi, data = d100) summary(ndvi) ndvi_sd=lm(sr_100~ndvi_sd, data = d100) summary(ndvi_sd) rvi=lm(sr_100~rvi, data = d100) summary(rvi) rvi_sd=lm(sr_100~rvi_sd, data = d100) summary(rvi_sd) #Topographic variables asp=lm(sr_100~asp, data = d100) summary(asp) asp_sd=lm(sr_100~asp_sd, data = d100) summary(asp_sd) curv=lm(sr_100~curv, data = d100) summary(curv) curv_sd=lm(sr_100~curv_sd, data = d100) summary(curv_sd) curv_plan=lm(sr_100~curv_plan, data = d100) summary(curv_plan) curv_plan_sd=lm(sr_100~curv_plan_sd, data = d100) summary(curv_plan_sd) curv_pro=lm(sr_100~curv_pro, data = d100) summary(curv_pro) curv_pro_sd=lm(sr_100~curv_pro_sd, data = d100) summary(curv_pro_sd) dem=lm(sr_100~dem, data = d100) summary(dem) dem_sd=lm(sr_100~dem_sd, data = d100) summary(dem_sd) twi=lm(sr_100~twi, data = d100) summary(twi) twi_sd=lm(sr_100~twi_sd, data = d100) summary(twi_sd) slp=lm(sr_100~slp, data = d100) summary(slp) slp_sd=lm(sr_100~slp_sd, data = d100) summary(slp_sd) #50 m subplots stem_50=lm(sr_50~stem_50, data = d50) summary(stem_50) ba_50=lm(sr_50~ba_50, data = d50) summary(ba_50) mch=lm(sr_50~mch, data = d50) summary(mch) mch_sd=lm(sr_50~mch_sd, data = d50) summary(mch_sd) qb_txt=lm(sr_50~qb_txt, data = d50) summary(qb_txt) qb_txt_sd=lm(sr_50~qb_txt_sd, data = d50) summary(qb_txt_sd) evi=lm(sr_50~evi, data = d50) summary(evi) evi_sd=lm(sr_50~evi_sd, data = d50) summary(evi_sd) ndvi=lm(sr_50~ndvi, data = d50) summary(ndvi) ndvi_sd=lm(sr_50~ndvi_sd, data = d50) summary(ndvi_sd) rvi=lm(sr_50~rvi, data = d50) summary(rvi) rvi_sd=lm(sr_50~rvi_sd, data = d50) summary(rvi_sd) pc1_sd=lm(sr_50~pc1_sd, data = d50) summary(pc1_sd) asp=lm(sr_50~asp, data = d50) summary(asp) asp_sd=lm(sr_50~asp_sd, data = d50) summary(asp_sd) curv=lm(sr_50~curv, data = d50) summary(curv) curv_sd=lm(sr_50~curv_sd, data = d50) summary(curv_sd) curv_plan=lm(sr_50~curv_plan, data = d50) summary(curv_plan) curv_plan_sd=lm(sr_50~curv_plan_sd, data = d50) summary(curv_plan_sd) curv_pro=lm(sr_50~curv_pro, data = d50) summary(curv_pro) curv_pro_sd=lm(sr_50~curv_pro_sd, data = d50) summary(curv_pro_sd) dem=lm(sr_50~dem, data = d50) summary(dem) dem_sd=lm(sr_50~dem_sd, data = d50) summary(dem_sd) twi=lm(sr_50~twi, data = d50) summary(twi) twi_sd=lm(sr_50~twi_sd, data = d50) summary(twi_sd) slp=lm(sr_50~slp, data = d50) summary(slp) slp_sd=lm(sr_50~slp_sd, data = d50) summary(slp_sd) #20 m subplots stem_20=lm(sr_20~stem_20, data = d20) summary(stem_20) ba_20=lm(sr_20~ba_20, data = d20) summary(ba_20) mch=lm(sr_20~mch, data = d20) summary(mch) mch_sd=lm(sr_20~mch_sd, data = d20) summary(mch_sd) qb_txt=lm(sr_20~qb_txt, data = d20) summary(qb_txt) qb_txt_sd=lm(sr_20~qb_txt_sd, data = d20) summary(qb_txt_sd) evi=lm(sr_20~evi, data = d20) summary(evi) evi_sd=lm(sr_20~evi_sd, data = d20) summary(evi_sd) ndvi=lm(sr_20~ndvi, data = d20) summary(ndvi) ndvi_sd=lm(sr_20~ndvi_sd, data = d20) summary(ndvi_sd) rvi=lm(sr_20~rvi, data = d20) summary(rvi) rvi_sd=lm(sr_20~rvi_sd, data = d20) summary(rvi_sd) pc1_sd=lm(sr_20~pc1_sd, data = d20) summary(pc1_sd) asp=lm(sr_20~asp, data = d20) summary(asp) asp_sd=lm(sr_20~asp_sd, data = d20) summary(asp_sd) curv=lm(sr_20~curv, data = d20) summary(curv) curv_sd=lm(sr_20~curv_sd, data = d20) summary(curv_sd) curv_plan=lm(sr_20~curv_plan, data = d20) summary(curv_plan) curv_plan_sd=lm(sr_20~curv_plan_sd, data = d20) summary(curv_plan_sd) curv_pro=lm(sr_20~curv_pro, data = d20) summary(curv_pro) curv_pro_sd=lm(sr_20~curv_pro_sd, data = d20) summary(curv_pro_sd) dem=lm(sr_20~dem, data = d20) summary(dem) dem_sd=lm(sr_20~dem_sd, data = d20) summary(dem_sd) twi=lm(sr_20~twi, data = d20) summary(twi) twi_sd=lm(sr_20~twi_sd, data = d20) summary(twi_sd) slp=lm(sr_20~slp, data = d20) summary(slp) slp_sd=lm(sr_20~slp_sd, data = d20) summary(slp_sd) #END