Send output to:
Browser Blue - Charts White
Browser Black/White
CSV
Data X:
24 14 11 12 24 26 14 2 25 11 7 8 25 23 18 2 17 6 17 8 30 25 11 2 18 12 10 8 19 23 12 1 18 8 12 9 22 19 16 2 16 10 12 7 22 29 18 2 20 10 11 4 25 25 14 2 16 11 11 11 23 21 14 2 18 16 12 7 17 22 15 2 17 11 13 7 21 25 15 2 23 13 14 12 19 24 17 1 30 12 16 10 19 18 19 2 23 8 11 10 15 22 10 1 18 12 10 8 16 15 16 2 15 11 11 8 23 22 18 2 12 4 15 4 27 28 14 1 21 9 9 9 22 20 14 1 15 8 11 8 14 12 17 2 20 8 17 7 22 24 14 1 31 14 17 11 23 20 16 2 27 15 11 9 23 21 18 1 34 16 18 11 21 20 11 2 21 9 14 13 19 21 14 2 31 14 10 8 18 23 12 2 19 11 11 8 20 28 17 1 16 8 15 9 23 24 9 2 20 9 15 6 25 24 16 1 21 9 13 9 19 24 14 2 22 9 16 9 24 23 15 2 17 9 13 6 22 23 11 1 24 10 9 6 25 29 16 2 25 16 18 16 26 24 13 1 26 11 18 5 29 18 17 2 25 8 12 7 32 25 15 2 17 9 17 9 25 21 14 1 32 16 9 6 29 26 16 1 33 11 9 6 28 22 9 1 13 16 12 5 17 22 15 1 32 12 18 12 28 22 17 2 25 12 12 7 29 23 13 1 29 14 18 10 26 30 15 1 22 9 14 9 25 23 16 2 18 10 15 8 14 17 16 1 17 9 16 5 25 23 12 1 20 10 10 8 26 23 12 2 15 12 11 8 20 25 11 2 20 14 14 10 18 24 15 2 33 14 9 6 32 24 15 2 29 10 12 8 25 23 17 2 23 14 17 7 25 21 13 1 26 16 5 4 23 24 16 2 18 9 12 8 21 24 14 1 20 10 12 8 20 28 11 1 11 6 6 4 15 16 12 2 28 8 24 20 30 20 12 1 26 13 12 8 24 29 15 2 22 10 12 8 26 27 16 2 17 8 14 6 24 22 15 2 12 7 7 4 22 28 12 1 14 15 13 8 14 16 12 2 17 9 12 9 24 25 8 1 21 10 13 6 24 24 13 1 19 12 14 7 24 28 11 2 18 13 8 9 24 24 14 2 10 10 11 5 19 23 15 2 29 11 9 5 31 30 10 1 31 8 11 8 22 24 11 2 19 9 13 8 27 21 12 1 9 13 10 6 19 25 15 2 20 11 11 8 25 25 15 1 28 8 12 7 20 22 14 1 19 9 9 7 21 23 16 2 30 9 15 9 27 26 15 2 29 15 18 11 23 23 15 1 26 9 15 6 25 25 13 1 23 10 12 8 20 21 12 2 13 14 13 6 21 25 17 2 21 12 14 9 22 24 13 2 19 12 10 8 23 29 15 1 28 11 13 6 25 22 13 1 23 14 13 10 25 27 15 1 18 6 11 8 17 26 16 1 21 12 13 8 19 22 15 2 20 8 16 10 25 24 16 1 23 14 8 5 19 27 15 2 21 11 16 7 20 24 14 2 21 10 11 5 26 24 15 1 15 14 9 8 23 29 14 2 28 12 16 14 27 22 13 2 19 10 12 7 17 21 7 2 26 14 14 8 17 24 17 2 10 5 8 6 19 24 13 2 16 11 9 5 17 23 15 2 22 10 15 6 22 20 14 2 19 9 11 10 21 27 13 2 31 10 21 12 32 26 16 2 31 16 14 9 21 25 12 2 29 13 18 12 21 21 14 2 19 9 12 7 18 21 17 1 22 10 13 8 18 19 15 1 23 10 15 10 23 21 17 2 15 7 12 6 19 21 12 1 20 9 19 10 20 16 16 2 18 8 15 10 21 22 11 1 23 14 11 10 20 29 15 2 25 14 11 5 17 15 9 1 21 8 10 7 18 17 16 2 24 9 13 10 19 15 15 1 25 14 15 11 22 21 10 1 17 14 12 6 15 21 10 2 13 8 12 7 14 19 15 2 28 8 16 12 18 24 11 2 21 8 9 11 24 20 13 2 25 7 18 11 35 17 14 1 9 6 8 11 29 23 18 2 16 8 13 5 21 24 16 1 19 6 17 8 25 14 14 2 17 11 9 6 20 19 14 2 25 14 15 9 22 24 14 2 20 11 8 4 13 13 14 2 29 11 7 4 26 22 12 2 14 11 12 7 17 16 14 2 22 14 14 11 25 19 15 2 15 8 6 6 20 25 15 2 19 20 8 7 19 25 15 2 20 11 17 8 21 23 13 2 15 8 10 4 22 24 17 1 20 11 11 8 24 26 17 2 18 10 14 9 21 26 19 2 33 14 11 8 26 25 15 2 22 11 13 11 24 18 13 1 16 9 12 8 16 21 9 1 17 9 11 5 23 26 15 2 16 8 9 4 18 23 15 1 21 10 12 8 16 23 15 1 26 13 20 10 26 22 16 2 18 13 12 6 19 20 11 1 18 12 13 9 21 13 14 1 17 8 12 9 21 24 11 2 22 13 12 13 22 15 15 2 30 14 9 9 23 14 13 1 30 12 15 10 29 22 15 2 24 14 24 20 21 10 16 1 21 15 7 5 21 24 14 2 21 13 17 11 23 22 15 1 29 16 11 6 27 24 16 2 31 9 17 9 25 19 16 2 20 9 11 7 21 20 11 1 16 9 12 9 10 13 12 1 22 8 14 10 20 20 9 1 20 7 11 9 26 22 16 2 28 16 16 8 24 24 13 2 38 11 21 7 29 29 16 1 22 9 14 6 19 12 12 2 20 11 20 13 24 20 9 2 17 9 13 6 19 21 13 2 28 14 11 8 24 24 13 2 22 13 15 10 22 22 14 2 31 16 19 16 17 20 19 2
Names of X columns:
CM D PE PC PS O Happiness gender
Endogenous Variable (Column Number)
Categorization
quantiles
none
quantiles
hclust
equal
Number of categories (only if categorization<>none)
Cross-Validation? (only if categorization<>none)
yes
no
yes
Chart options
R Code
library(party) library(Hmisc) par1 <- as.numeric(par1) par3 <- as.numeric(par3) x <- data.frame(t(y)) is.data.frame(x) x <- x[!is.na(x[,par1]),] k <- length(x[1,]) n <- length(x[,1]) colnames(x)[par1] x[,par1] if (par2 == 'kmeans') { cl <- kmeans(x[,par1], par3) print(cl) clm <- matrix(cbind(cl$centers,1:par3),ncol=2) clm <- clm[sort.list(clm[,1]),] for (i in 1:par3) { cl$cluster[cl$cluster==clm[i,2]] <- paste('C',i,sep='') } cl$cluster <- as.factor(cl$cluster) print(cl$cluster) x[,par1] <- cl$cluster } if (par2 == 'quantiles') { x[,par1] <- cut2(x[,par1],g=par3) } if (par2 == 'hclust') { hc <- hclust(dist(x[,par1])^2, 'cen') print(hc) memb <- cutree(hc, k = par3) dum <- c(mean(x[memb==1,par1])) for (i in 2:par3) { dum <- c(dum, mean(x[memb==i,par1])) } hcm <- matrix(cbind(dum,1:par3),ncol=2) hcm <- hcm[sort.list(hcm[,1]),] for (i in 1:par3) { memb[memb==hcm[i,2]] <- paste('C',i,sep='') } memb <- as.factor(memb) print(memb) x[,par1] <- memb } if (par2=='equal') { ed <- cut(as.numeric(x[,par1]),par3,labels=paste('C',1:par3,sep='')) x[,par1] <- as.factor(ed) } table(x[,par1]) colnames(x) colnames(x)[par1] x[,par1] if (par2 == 'none') { m <- ctree(as.formula(paste(colnames(x)[par1],' ~ .',sep='')),data = x) } load(file='createtable') if (par2 != 'none') { m <- ctree(as.formula(paste('as.factor(',colnames(x)[par1],') ~ .',sep='')),data = x) if (par4=='yes') { a<-table.start() a<-table.row.start(a) a<-table.element(a,'10-Fold Cross Validation',3+2*par3,TRUE) a<-table.row.end(a) a<-table.row.start(a) a<-table.element(a,'',1,TRUE) a<-table.element(a,'Prediction (training)',par3+1,TRUE) a<-table.element(a,'Prediction (testing)',par3+1,TRUE) a<-table.row.end(a) a<-table.row.start(a) a<-table.element(a,'Actual',1,TRUE) for (jjj in 1:par3) a<-table.element(a,paste('C',jjj,sep=''),1,TRUE) a<-table.element(a,'CV',1,TRUE) for (jjj in 1:par3) a<-table.element(a,paste('C',jjj,sep=''),1,TRUE) a<-table.element(a,'CV',1,TRUE) a<-table.row.end(a) for (i in 1:10) { ind <- sample(2, nrow(x), replace=T, prob=c(0.9,0.1)) m.ct <- ctree(as.formula(paste('as.factor(',colnames(x)[par1],') ~ .',sep='')),data =x[ind==1,]) if (i==1) { m.ct.i.pred <- predict(m.ct, newdata=x[ind==1,]) m.ct.i.actu <- x[ind==1,par1] m.ct.x.pred <- predict(m.ct, newdata=x[ind==2,]) m.ct.x.actu <- x[ind==2,par1] } else { m.ct.i.pred <- c(m.ct.i.pred,predict(m.ct, newdata=x[ind==1,])) m.ct.i.actu <- c(m.ct.i.actu,x[ind==1,par1]) m.ct.x.pred <- c(m.ct.x.pred,predict(m.ct, newdata=x[ind==2,])) m.ct.x.actu <- c(m.ct.x.actu,x[ind==2,par1]) } } print(m.ct.i.tab <- table(m.ct.i.actu,m.ct.i.pred)) numer <- 0 for (i in 1:par3) { print(m.ct.i.tab[i,i] / sum(m.ct.i.tab[i,])) numer <- numer + m.ct.i.tab[i,i] } print(m.ct.i.cp <- numer / sum(m.ct.i.tab)) print(m.ct.x.tab <- table(m.ct.x.actu,m.ct.x.pred)) numer <- 0 for (i in 1:par3) { print(m.ct.x.tab[i,i] / sum(m.ct.x.tab[i,])) numer <- numer + m.ct.x.tab[i,i] } print(m.ct.x.cp <- numer / sum(m.ct.x.tab)) for (i in 1:par3) { a<-table.row.start(a) a<-table.element(a,paste('C',i,sep=''),1,TRUE) for (jjj in 1:par3) a<-table.element(a,m.ct.i.tab[i,jjj]) a<-table.element(a,round(m.ct.i.tab[i,i]/sum(m.ct.i.tab[i,]),4)) for (jjj in 1:par3) a<-table.element(a,m.ct.x.tab[i,jjj]) a<-table.element(a,round(m.ct.x.tab[i,i]/sum(m.ct.x.tab[i,]),4)) a<-table.row.end(a) } a<-table.row.start(a) a<-table.element(a,'Overall',1,TRUE) for (jjj in 1:par3) a<-table.element(a,'-') a<-table.element(a,round(m.ct.i.cp,4)) for (jjj in 1:par3) a<-table.element(a,'-') a<-table.element(a,round(m.ct.x.cp,4)) a<-table.row.end(a) a<-table.end(a) table.save(a,file='mytable3.tab') } } m bitmap(file='test1.png') plot(m) dev.off() bitmap(file='test1a.png') plot(x[,par1] ~ as.factor(where(m)),main='Response by Terminal Node',xlab='Terminal Node',ylab='Response') dev.off() if (par2 == 'none') { forec <- predict(m) result <- as.data.frame(cbind(x[,par1],forec,x[,par1]-forec)) colnames(result) <- c('Actuals','Forecasts','Residuals') print(result) } if (par2 != 'none') { print(cbind(as.factor(x[,par1]),predict(m))) myt <- table(as.factor(x[,par1]),predict(m)) print(myt) } bitmap(file='test2.png') if(par2=='none') { op <- par(mfrow=c(2,2)) plot(density(result$Actuals),main='Kernel Density Plot of Actuals') plot(density(result$Residuals),main='Kernel Density Plot of Residuals') plot(result$Forecasts,result$Actuals,main='Actuals versus Predictions',xlab='Predictions',ylab='Actuals') plot(density(result$Forecasts),main='Kernel Density Plot of Predictions') par(op) } if(par2!='none') { plot(myt,main='Confusion Matrix',xlab='Actual',ylab='Predicted') } dev.off() if (par2 == 'none') { detcoef <- cor(result$Forecasts,result$Actuals) a<-table.start() a<-table.row.start(a) a<-table.element(a,'Goodness of Fit',2,TRUE) a<-table.row.end(a) a<-table.row.start(a) a<-table.element(a,'Correlation',1,TRUE) a<-table.element(a,round(detcoef,4)) a<-table.row.end(a) a<-table.row.start(a) a<-table.element(a,'R-squared',1,TRUE) a<-table.element(a,round(detcoef*detcoef,4)) a<-table.row.end(a) a<-table.row.start(a) a<-table.element(a,'RMSE',1,TRUE) a<-table.element(a,round(sqrt(mean((result$Residuals)^2)),4)) a<-table.row.end(a) a<-table.end(a) table.save(a,file='mytable1.tab') a<-table.start() a<-table.row.start(a) a<-table.element(a,'Actuals, Predictions, and Residuals',4,TRUE) a<-table.row.end(a) a<-table.row.start(a) a<-table.element(a,'#',header=TRUE) a<-table.element(a,'Actuals',header=TRUE) a<-table.element(a,'Forecasts',header=TRUE) a<-table.element(a,'Residuals',header=TRUE) a<-table.row.end(a) for (i in 1:length(result$Actuals)) { a<-table.row.start(a) a<-table.element(a,i,header=TRUE) a<-table.element(a,result$Actuals[i]) a<-table.element(a,result$Forecasts[i]) a<-table.element(a,result$Residuals[i]) a<-table.row.end(a) } a<-table.end(a) table.save(a,file='mytable.tab') } if (par2 != 'none') { a<-table.start() a<-table.row.start(a) a<-table.element(a,'Confusion Matrix (predicted in columns / actuals in rows)',par3+1,TRUE) a<-table.row.end(a) a<-table.row.start(a) a<-table.element(a,'',1,TRUE) for (i in 1:par3) { a<-table.element(a,paste('C',i,sep=''),1,TRUE) } a<-table.row.end(a) for (i in 1:par3) { a<-table.row.start(a) a<-table.element(a,paste('C',i,sep=''),1,TRUE) for (j in 1:par3) { a<-table.element(a,myt[i,j]) } a<-table.row.end(a) } a<-table.end(a) table.save(a,file='mytable2.tab') }
Compute
Summary of computational transaction
Raw Input
view raw input (R code)
Raw Output
view raw output of R engine
Computing time
1 seconds
R Server
Big Analytics Cloud Computing Center
Click here to blog (archive) this computation