Send output to:
Browser Blue - Charts White
Browser Black/White
CSV
Data X:
1 1 14 12 26 21 21 23 17 23 127 1 1 18 11 20 16 15 24 17 20 108 1 1 11 14 19 19 18 22 18 20 110 1 0 12 12 19 18 11 20 21 21 102 1 1 16 21 20 16 8 24 20 24 104 1 1 18 12 25 23 19 27 28 22 140 1 0 14 22 25 17 4 28 19 23 112 1 1 14 11 22 12 20 27 22 20 115 1 1 15 10 26 19 16 24 16 25 121 1 1 15 13 22 16 14 23 18 23 112 1 0 17 10 17 19 10 24 25 27 118 1 0 19 8 22 20 13 27 17 27 122 1 1 10 15 19 13 14 27 14 22 105 1 1 16 14 24 20 8 28 11 24 111 1 1 18 10 26 27 23 27 27 25 151 1 0 14 14 21 17 11 23 20 22 106 1 1 14 14 13 8 9 24 22 28 100 1 0 17 11 26 25 24 28 22 28 149 1 0 14 10 20 26 5 27 21 27 122 1 1 16 13 22 13 15 25 23 25 115 1 0 18 7 14 19 5 19 17 16 86 1 1 11 14 21 15 19 24 24 28 124 1 1 14 12 7 5 6 20 14 21 69 1 0 12 14 23 16 13 28 17 24 117 1 1 17 11 17 14 11 26 23 27 113 1 1 9 9 25 24 17 23 24 14 123 1 1 16 11 25 24 17 23 24 14 123 1 1 14 15 19 9 5 20 8 27 84 1 0 15 14 20 19 9 11 22 20 97 1 1 11 13 23 19 15 24 23 21 121 1 0 16 9 22 25 17 25 25 22 132 1 1 13 15 22 19 17 23 21 21 119 1 1 17 10 21 18 20 18 24 12 98 1 0 15 11 15 15 12 20 15 20 87 1 0 14 13 20 12 7 20 22 24 101 1 0 16 8 22 21 16 24 21 19 115 1 1 9 20 18 12 7 23 25 28 109 1 0 15 12 20 15 14 25 16 23 109 1 0 17 10 28 28 24 28 28 27 159 1 1 13 10 22 25 15 26 23 22 129 1 1 15 9 18 19 15 26 21 27 119 1 1 16 14 23 20 10 23 21 26 119 1 1 16 8 20 24 14 22 26 22 122 1 0 12 14 25 26 18 24 22 21 131 1 0 12 11 26 25 12 21 21 19 120 1 1 11 13 15 12 9 20 18 24 82 1 0 15 9 17 12 9 22 12 19 86 1 0 15 11 23 15 8 20 25 26 105 1 1 17 15 21 17 18 25 17 22 114 1 0 13 11 13 14 10 20 24 28 100 1 1 16 10 18 16 17 22 15 21 100 1 1 14 14 19 11 14 23 13 23 99 1 1 11 18 22 20 16 25 26 28 132 1 1 12 14 16 11 10 23 16 10 82 1 0 12 11 24 22 19 23 24 24 132 1 1 15 12 18 20 10 22 21 21 107 1 1 16 13 20 19 14 24 20 21 114 1 1 15 9 24 17 10 25 14 24 110 1 0 12 10 14 21 4 21 25 24 105 1 0 12 15 22 23 19 12 25 25 121 1 1 8 20 24 18 9 17 20 25 109 1 1 13 12 18 17 12 20 22 23 106 1 1 11 12 21 27 16 23 20 21 124 1 0 14 14 23 25 11 23 26 16 120 1 1 15 13 17 19 18 20 18 17 91 1 0 10 11 22 22 11 28 22 25 126 1 0 11 17 24 24 24 24 24 24 138 1 0 12 12 21 20 17 24 17 23 118 1 1 15 13 22 19 18 24 24 25 128 1 1 15 14 16 11 9 24 20 23 98 1 1 14 13 21 22 19 28 19 28 133 1 0 16 15 23 22 18 25 20 26 130 1 0 15 13 22 16 12 21 15 22 103 1 1 15 10 24 20 23 25 23 19 124 1 1 13 11 24 24 22 25 26 26 142 1 1 12 19 16 16 14 18 22 18 96 1 1 17 13 16 16 14 17 20 18 93 1 0 13 17 21 22 16 26 24 25 129 1 0 15 13 26 24 23 28 26 27 150 1 0 13 9 15 16 7 21 21 12 88 1 0 15 11 25 27 10 27 25 15 125 1 1 16 10 18 11 12 22 13 21 92 1 0 15 9 23 21 12 21 20 23 0 1 1 16 12 20 20 12 25 22 22 117 1 0 15 12 17 20 17 22 23 21 112 1 0 14 13 25 27 21 23 28 24 144 1 1 15 13 24 20 16 26 22 27 130 1 1 14 12 17 12 11 19 20 22 87 1 1 13 15 19 8 14 25 6 28 92 1 1 7 22 20 21 13 21 21 26 114 1 1 17 13 15 18 9 13 20 10 81 1 0 13 15 27 24 19 24 18 19 127 1 1 15 13 22 16 13 25 23 22 115 1 1 14 15 23 18 19 26 20 21 123 1 1 13 10 16 20 13 25 24 24 115 1 1 16 11 19 20 13 25 22 25 117 1 0 12 16 25 19 13 22 21 21 117 1 1 14 11 19 17 14 21 18 20 103 1 0 17 11 19 16 12 23 21 21 108 1 0 15 10 26 26 22 25 23 24 139 1 1 17 10 21 15 11 24 23 23 113 1 0 12 16 20 22 5 21 15 18 97 1 1 16 12 24 17 18 21 21 24 117 1 1 11 11 22 23 19 25 24 24 133 1 0 15 16 20 21 14 22 23 19 115 1 1 9 19 18 19 15 20 21 20 103 1 0 16 11 18 14 12 20 21 18 95 1 1 15 16 24 17 19 23 20 20 117 1 1 10 15 24 12 15 28 11 27 113 1 1 10 24 22 24 17 23 22 23 127 1 1 15 14 23 18 8 28 27 26 126 1 1 11 15 22 20 10 24 25 23 119 1 1 13 11 20 16 12 18 18 17 97 1 1 14 15 18 20 12 20 20 21 105 1 1 18 12 25 22 20 28 24 25 140 1 0 16 10 18 12 12 21 10 23 91 1 1 14 14 16 16 12 21 27 27 112 1 1 14 13 20 17 14 25 21 24 113 1 0 14 9 19 22 6 19 21 20 102 1 1 14 15 15 12 10 18 18 27 92 1 1 12 15 19 14 18 21 15 21 98 1 1 14 14 19 23 18 22 24 24 122 1 1 15 11 16 15 7 24 22 21 100 1 1 15 8 17 17 18 15 14 15 84 1 1 15 11 28 28 9 28 28 25 142 1 0 13 11 23 20 17 26 18 25 124 1 1 17 8 25 23 22 23 26 22 137 1 1 17 10 20 13 11 26 17 24 105 1 0 19 11 17 18 15 20 19 21 106 1 0 15 13 23 23 17 22 22 22 125 1 1 13 11 16 19 15 20 18 23 104 1 0 9 20 23 23 22 23 24 22 130 1 0 15 10 11 12 9 22 15 20 79 1 0 15 15 18 16 13 24 18 23 108 1 0 15 12 24 23 20 23 26 25 136 1 1 16 14 23 13 14 22 11 23 98 1 1 11 23 21 22 14 26 26 22 120 1 0 14 14 16 18 12 23 21 25 108 1 0 11 16 24 23 20 27 23 26 139 1 1 15 11 23 20 20 23 23 22 123 1 1 13 12 18 10 8 21 15 24 90 1 1 15 10 20 17 17 26 22 24 119 1 1 16 14 9 18 9 23 26 25 105 1 0 14 12 24 15 18 21 16 20 110 1 1 15 12 25 23 22 27 20 26 135 1 1 16 11 20 17 10 19 18 21 101 1 0 16 12 21 17 13 23 22 26 114 1 0 11 13 25 22 15 25 16 21 118 1 0 12 11 22 20 18 23 19 22 120 1 0 9 19 21 20 18 22 20 16 108 1 1 16 12 21 19 12 22 19 26 114 1 1 13 17 22 18 12 25 23 28 122 1 1 16 9 27 22 20 25 24 18 132 1 0 12 12 24 20 12 28 25 25 130 1 0 9 19 24 22 16 28 21 23 130 1 0 13 18 21 18 16 20 21 21 112 1 1 13 15 18 16 18 25 23 20 114 1 1 14 14 16 16 16 19 27 25 103 0 1 19 11 22 16 13 25 23 22 115 0 1 13 9 20 16 17 22 18 21 108 0 0 12 18 18 17 13 18 16 16 94 0 1 13 16 20 18 17 20 16 18 105
Names of X columns:
Pop Gender Happiness Depression I1 I2 I3 E1 E2 E3 TotaleMotivatie
Endogenous Variable (Column Number)
Categorization
equal
none
quantiles
hclust
equal
Number of categories (only if categorization<>none)
Cross-Validation? (only if categorization<>none)
no
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
2 seconds
R Server
Big Analytics Cloud Computing Center
Click here to blog (archive) this computation