Integrating New Report Plugins (Part 2)

The report plugin myReport2.R, which combines results from the previous paragraph can be downloaded from the workshop's web site.

myReport2 <- function(spotConfig) {		
	spotWriteLines(spotConfig,2,"  Entering spotReportDefault");
	rawB <- spotGetRawDataMatrixB(spotConfig);
	print(summary(rawB));
	mergedData <- spotPrepareData(spotConfig)
	mergedB <- spotGetMergedDataMatrixB(mergedData, spotConfig)
	my.lm <- lm(y ~ ., data= rawB)
	print(summary(my.lm))
	par(mfrow=c(2,2))
	plot(my.lm)
	x11()	
	library(effects)
	x11()
	plot(allEffects(my.lm), ask=FALSE)
	###
	x11()
	C1 = spotWriteBest(mergedData, spotConfig)
	C1 = C1[C1$COUNT == max(C1$COUNT), ]
	xNames <- setdiff(names(rawB), c(spotConfig$alg.resultColumn, 
					"y"))
	B <- NULL
	nsens = 20
	for (i in 1:nsens) {
		B <- rbind(B, data.frame(C1[1, xNames]))
	}
	fit <- randomForest(rawB[, xNames], rawB$y, ntree = 100)
	rwb <- cbind(spotConfig$alg.roi, t(B[1, ]))
	names(rwb)[length(rwb)] <- "BEST"
	Y <- spotReportSensY(B, fit, spotConfig$alg.roi, nsens)
	X = seq(-1, 1, length.out = nsens)
	matplot(X, Y, type = "l", lwd = rep(2, ncol(Y)), col = 1:ncol(Y), 
			xlab = "normalized ROI")
	XP = (rwb$BEST - rwb$low)/(rwb$high - rwb$low) * 2 - 1
	XP = rbind(XP, XP)
	YP = min(Y)
	YP = rbind(YP, YP)
	matpoints(XP, YP, pch = rep(21, ncol(Y)), bg = 1:ncol(Y), 
			cex = 2)
	legend("topleft", legend = names(Y), lwd = rep(2, ncol(Y)), 
			lty = 1:ncol(Y), col = 1:ncol(Y), text.col = 1:ncol(Y))
	cat(sprintf("\n Sensitivity plot for this ROI:\n"))
	print(rwb)
	cat(sprintf("\n Best solution found with %d evaluations:\n", 
					nrow(rawB)))
	print(C1[1, ])
	spotWriteLines(spotConfig, 2, "\n Leaving spotReportSens")
}

Figs. 7 - 10 show some results from the report plugin myReport2.R.

Figure 7: Effect plots from the report task myReport2 
\includegraphics{cmaEs0Effect.eps}

Figure 8: Analysis of the linear model from the report task myReport2 
\includegraphics{cmaEs0Fit.eps}

Figure 9: Analysis of the sensitivity analysis from the report task myReport2 
\includegraphics{cmaEs0Sens.eps}

Figure 10: Regression tree from the report task myReport2 
\includegraphics{cmaEs0Tree.eps}



bartz 2010-07-08