# Adapted from R_fig14.txt in MW(2010) # choose calibration period 1850-endyr (set in calling file) # endyr=1980 or endyr = 1995 ## load lowpass versions of the data lowpass.proxy <- read.table("proxylow/proxylow9",nrows=996) years=1000:endyr proxy=lowpass.proxy[1:(endyr-999),1:59] rownames(proxy) <- years #remove Tiljander proxies proxy <- proxy[,-c(32:35)] # load target lowpass.nh <- read.table("cru_nh_smooth",nrows=157) temp=lowpass.nh[1:(endyr-1849),2] names(temp)<-1850:endyr # Run proxy pca: proxy_pc <- prcomp(proxy, center=TRUE, scale=TRUE) # Build insample dataframe: my_years <- names(temp) yy_in <- temp names(yy_in) <- my_years proxy_in <- data.frame( proxy[my_years,] ) ppc_in <- data.frame( proxy_pc$x[my_years,] ) # Build out of sample dataframe: proxy_out <- data.frame( proxy ) ppc_out <- data.frame( proxy_pc$x ) # FIT VARIOUS MODELS: library(MASS) myfrac <- seq(0, 1, length=201) yhat <- list(NULL) # Intercept: mylm <- lm(yy_in~1) yhat[[1]] <- predict(mylm, data.frame(ppc_out)) # OLS_PC1: mylm <- lm(yy_in~., data=data.frame(x=ppc_in[,1])) yhat[[2]] <- predict(mylm, data.frame(x=ppc_out[,1])) # OLS_PC4: mylm <- lm(yy_in~., data=data.frame(ppc_in[,1:4])) yhat[[3]] <- predict(mylm, data.frame(ppc_out[,1:4])) # OLS_PC10: mylm <- lm(yy_in~., data=data.frame(ppc_in[,1:10])) yhat[[4]] <- predict(mylm, data.frame(ppc_out[,1:10])) # OLS_PC20: mylm <- lm(yy_in~., data=data.frame(ppc_in[,1:20])) yhat[[5]] <- predict(mylm, data.frame(ppc_out[,1:20]))