require(tcltk) env<-environment(.libPaths) assign(".lib.loc",shortPathName(get(".lib.

loc",envir=env)),envir=env) R.base.dir <- system.file() setwd(paste(R.base.dir,"/../../doc/html/Projet",sep="")) library("tkrplot") tclRequire("Img") tclRequire("Tktable") tclRequire("BWidget") style1 <- tkfont.create(family = "verdana", size = 14, weight = "normal") style2 <- tkfont.create(family = "verdana", size = 16, weight = "normal") style3 <- tkfont.create(family = "verdana", size = 18, weight = "normal") ############################################## ############################################## ############################################## #################### Acceuil <- tktoplevel() tkwm.title(Acceuil,"Acceuil") tkgrid(tklabel(Acceuil,text="\n")) tkgrid(tklabel(Acceuil,text=" =style3, foreground = "red")) Projet de régression linéaire \n", font

tkgrid(tklabel(Acceuil,text="\n Réalisé par: Elmahdi AZIZEDDINE Encadrant: Pr Jean-Yves Dauxois \n \n Master Modélisation Statistique \n \n Université de Franche-Comté Année universitaire: 2009-2010 \n ", font =style1)) tkgrid(tklabel(Acceuil,text="\n données \n", font =style2)) parcourir <- function() { Veuillez parcourir votre table de

tkdestroy(Acceuil) parcourirdonnees() } bouttonparcourir <- tkbutton(Acceuil,text=" = parcourir) tkgrid(bouttonparcourir) tkgrid(tklabel(Acceuil,text="\n")) tkfocus(Acceuil) ############################################## ############################################## ############################################## #################### statistiquesdescriptives <- function() { tclRequire("Tktable") X <- X[,1] Y <- Y[,1] quantileX <- quantile(X) quantileY <- quantile(Y) minimumX <- quantileX[1] minimumY <- quantileY[1] maximumX <- quantileX[5] maximumY <- quantileY[5] premierquartileX <- quantileX[2] premierquartileY <- quantileY[2] troisiemequartileX <- quantileX[4] troisiemequartileY <- quantileY[4] moyenneX <- mean(X) Parcourir ", command

moyenneY <- mean(Y) medianeX <- quantileX[3] medianeY <- quantileY[3] varianceX <- sum((X - mean(X))^2)/length(X) varianceY <- sum((Y - mean(Y))^2)/length(Y) covarianceXY <- sum((X - mean(X))*(Y - mean(Y)))/length(X) titre1 <- c("\"de la variable expliquée\"") titre2 <- c("\"de la variable expliquative\"") matable1 <- c("Minimum","\"Premier quartile\"","Médiane","Moyenne","\"Troisième quartile\"","Maximum","Variance", minimumX,premierquartileX,medianeX,moyenneX,troisiemequartileX,maximu mX,varianceX) matable2 <- c("Minimum","\"Premier quartile\"","Médiane","Moyenne","\"Troisième quartile\"","Maximum","Variance", minimumY,premierquartileY,medianeY,moyenneY,troisiemequartileY,maximu mY,varianceY) covariance <- c("Covariance") valeurdelacovariance <- c(covarianceXY) dim(matable1) <- c(7,2) dim(matable2) <- c(7,2) dim(titre1) <- c(1,1) dim(titre2) <- c(1,1) dim(covariance) <- c(1,1) dim(valeurdelacovariance) <- c(1,1) for (i in (0:6)) { for (j in (0:1))

{ .Tcl(paste("set tclarraY(",i,",",j,") ",matable1[i+1,j+1],sep="")) .Tcl(paste("set tclarray2(",i,",",j,") ",matable2[i+1,j+1],sep="")) } } .Tcl(paste("set tclarray3(",0,",",0,") ",titre1[1,1],sep="")) .Tcl(paste("set tclarray4(",0,",",0,") ",titre2[1,1],sep="")) .Tcl(paste("set tclarray5(",0,",",0,") ",covariance[1,1],sep="")) .Tcl(paste("set tclarray6(",0,",",0,") ",valeurdelacovariance[1,1],sep="")) tt3<-tktoplevel() tkwm.title(tt3,"Statistiques descriptives") titre1 <tkwidget(tt3,"table",variable="tclarray3",rows="1",cols="1",titlerows="1",sel ectmode="extended",colwidth="25",background="white") table1 <tkwidget(tt3,"table",variable="tclarraY",rows="7",cols="2",selectmode="ext ended",colwidth="25",background="white") titre2 <tkwidget(tt3,"table",variable="tclarray4",rows="1",cols="1",titlerows="1",sel ectmode="extended",colwidth="25",background="white") table2 <tkwidget(tt3,"table",variable="tclarray2",rows="7",cols="2",selectmode="ex tended",colwidth="25",background="white") covariance <tkwidget(tt3,"table",variable="tclarray5",rows="1",cols="1",titlerows="1",sel ectmode="extended",colwidth="25",background="white") valeurdelacovariance <tkwidget(tt3,"table",variable="tclarray6",rows="1",cols="1",selectmode="ex tended",colwidth="25",background="white") tkgrid(tklabel(tt3,text=paste("\n font=style2)) Statistiques descriptives \n"),

tkgrid(titre1) tkgrid(table1) tkgrid(titre2) tkgrid(table2) tkgrid(covariance) tkgrid(valeurdelacovariance) tkgrid(tklabel(tt3,text="\n")) fermerstatdesc <- function() { tkdestroy(tt3) } fermer.but <- tkbutton(tt3,text=" Fermer ",command=fermerstatdesc) tkgrid(fermer.but) tkfocus(tt3) } ############################################## ############################################## ############################################## #################### nuagedepoints <- function() { X1 <- X[,1] Y1 <- Y[,1] labelsVec <- LETTERS require(tkrplot) indexLabeled<-c() labeledPoints <- list()

tktoplevel() tkwm.Distance) indexLabeled <<.c() plotFunction <. pch=4.c() usrCoords <.par("usr") par(params) } img <.(xClick-imgXcoords)^2 + (yClick-imgYcoords)^2 indexClosest <. Y1.5) labelClosestPoint <.hscale=1.function(xClick.vscale=1. "en fonction de". xlab = names(X).imgXcoords. main = paste("Graphe de ".tkrplot(tt4.fun=plotFunction.min(squared.indexClosest) tkrreplot(img) .c(indexLabeled.imgYcoords) { squared.indexLabeled[i] text(X1[indexClosest].tt4 <.Distance <. labels=labelsVec[indexClosest].par(bg="white") plot(X1.5. names(X)).title(tt4."Nuage de points") parPlotSize <.function() { params <.pos=3) } parPlotSize <<.yClick. ylab = names(Y)) if (length(indexLabeled)>0) for (i in (1:length(indexLabeled))) { indexClosest <.which.Y1[indexClosest].par("plt") usrCoords <<. names(Y).

parPlotSize[1] * width xMax <.5 yClick <.usrCoords[3] imgXcoords <.usrCoords[1] rangeY <.usrCoords[3]+(yClick-yMin)*rangeY/(yMax-yMin) msg <.usrCoords[2] .digits=2).numeric(yClick)+0.".parPlotSize[2] * width yMin <.y =". message=msg.function(x.paste("Les coordonnées approximatives de ce point sont: \n".x yClick <.format(yPlotCoord.as.parPlotSize[3] * height yMax <.type="yesno".y require(tcltk) width <.as.numeric(tclvalue(tkwinfo("reqheight".numeric(xClick)+0.} OnLeftClick <.yClick xPlotCoord <.parPlotSize[4] * height rangeX <. Voulez-vous l'étiqueter?") mbval<.usrCoords[4] .as.(X1-usrCoords[1])*(xMax-xMin)/rangeX + xMin imgYcoords <.usrCoords[1]+(xClick-xMin)*rangeX/(xMax-xMin) yPlotCoord <.numeric(tclvalue(tkwinfo("reqwidth". "x =".y) { xClick <.(Y1-usrCoords[3])*(yMax-yMin)/rangeY + yMin xClick <.as.".img))) height <.5 yClick <.height .tkmessageBox(title="Etiqueter un point".digits=2).img))) xMin <.format(xPlotCoord.icon="question") if (tclvalue(mbval)=="yes") .

but <.tkbutton(tt4.mean(X))^2)/length(X) Fermer ".tkbutton(tt4.function() { tclRequire("Tktable") X <.cursor="hand2") CopyToClip <.")) copy.imgXcoords.1] Y <.labelClosestPoint(xClick.but) OK.1] varianceX <.imgYcoords) } tkbind(img.text=" tkdestroy(tt4)) tkgrid(OK.function() { tkrreplot(img) } tkgrid(tklabel(tt4.OnLeftClick) tkconfigure(img.X[.command=function() .but) tkfocus(tt4) } ############################################## ############################################## ############################################## #################### estimateursdesmco <.text="Veuillez cliquer sur un point pour visualiser ses coordonnées.yClick.but <.sum((X .Y[.text="Copier l'image". "<Button-1>".command=CopyToClip) tkgrid(img) tkgrid(copy.

1].text=paste("L'équation de la droite de régression est: Y=".0.text="\n")) .") ".mean(X))*(Y .rows="1".sep="")) . font=style1)) tkgrid(tklabel(tt5.text=paste("vaut:").0. font=style1)) tkgrid(tklabel(tt5."table".colwidth="25".cols="1".sum((Y .mean(Y) .1].background="white") valeurbeta2chapeau <tkwidget(tt5.".valeurbeta1chapeau[1. font=style1)) tkgrid(valeurbeta1chapeau) tkgrid(tklabel(tt5.cols="1".text=paste("L'estimateur de l'ordonnée à l'origine beta 1 chapeau")."."Estimateurs des MCO") valeurbeta1chapeau <tkwidget(tt5."table".varianceY <.") ".mean(Y)))/length(X) beta2chapeau <.variable="tclarray8".variable="tclarray9".covarianceXY/ varianceX beta1chapeau <.rows="1".background="white") tkgrid(tklabel(tt5. font=style1)) tkgrid(tklabel(tt5.c(1.mean(Y))^2)/length(Y) covarianceXY <.1) .beta2chapeau * mean(X) valeurbeta1chapeau <.sep="")) tt5<-tktoplevel() tkwm. font=style1)) tkgrid(valeurbeta2chapeau) tkgrid(tklabel(tt5.selectmode="ex tended".1) dim(valeurbeta2chapeau) <."X").0.sum((X .valeurbeta2chapeau[1.selectmode="ex tended".beta1chapeau.".".c(1.0.text=paste("vaut:").c(beta1chapeau) valeurbeta2chapeau <.title(tt5.Tcl(paste("set tclarray9(".c(beta2chapeau) dim(valeurbeta1chapeau) <."+".Tcl(paste("set tclarray8(".beta2chapeau.colwidth="25".text=paste("L'estimateur de la pente beta 2 chapeau").

mean(X))^2)/length(X) varianceY <.but) tkfocus(tt5) } ############################################## ############################################## ############################################## #################### tests <.Y[.covarianceXY/ varianceX beta1chapeau <.sum((X .mean(Y)))/length(X) beta2chapeau <.mean(X))*(Y .1] Y <.mean(Y) .text=" Fermer ".mean(Y))^2)/length(Y) covarianceXY <.beta2chapeau * mean(X) Ychapeau <.fermerestmco <.mean(X))^2)) .command=fermerestmco) tkgrid(fermer.tkbutton(tt5.but <.sum(e2)/(length(X)-2) sigma2chapeaubeta1chapeau <.beta1chapeau + beta2chapeau * X e1 <.sum((Y .sum((X .(sigma2chapeau * sum(X^2))/ (length(X)*sum((X .X[.1] varianceX <.e1 * e1 sigma2chapeau <.Y .function() { tclRequire("Tktable") X <.Ychapeau e2 <.function() { tkdestroy(tt5) } fermer.

abs(T1) > valeurcritique if (rejet1 == TRUE) conclusion1 <.valeurstatistique1[1.qt(1 .") ".1) .beta2chapeau/sqrt(sigma2chapeaubeta2chapeau) rejet2 <.beta1chapeau/sqrt(sigma2chapeaubeta1chapeau) rejet1 <.") "."On rejette l'hypothèse H0 \n Conclusion: Le modèle de régression linéaire est significatif. \n Conclusion: la droite de régression ne passe pas par l'origine.sigma2chapeau/(sum((X .c(1.".".c("Statistique") dim(statistique1) <.c(1.1].0.1) ."On ne peux pas rejetter l'hypothèse H0" borneInf2 <.Tcl(paste("set tclarraY1(".0. length(X)-2) T1 <.1) .0.Tcl(paste("set tclarraY0(".valeurcritique * sqrt(sigma2chapeaubeta2chapeau) borneSup2 <.c(T1) dim(valeurstatistique1) <.1].c(1.abs(T2) > valeurcritique if (rejet2 == TRUE) conclusion2 <." else conclusion2 <.c("\"Valeur critique\"") dim(affichervaleurcritique1) <.beta2chapeau .0." else conclusion1 <."On rejette l'hypothèse H0.sigma2chapeaubeta2chapeau <.sep="")) affichervaleurcritique1 <.statistique1[1.0."On ne peux pas rejetter l'hypothèse H0" T2 <.".".sep="")) valeurstatistique1 <.beta2chapeau + valeurcritique * sqrt(sigma2chapeaubeta2chapeau) statistique1 <.05/2.mean(X))^2)) valeurcritique <.

0.Tcl(paste("set tclarraY6("."."table".") ".titlerows="1".") ".") ".sel ectmode="extended".") ".0.0.c(valeurcritique) dim(valeurdelavaleurcritique1) <.titlerows="1".colwidth="25".".background="white") affichervaleurcritique1 <tkwidget(tt6.sep="")) valeurdelavaleurcritique1 <.0.c(1.variable="tclarraY0".1) .affichervaleurcritique1[1."table".".Tcl(paste("set tclarraY4("..title(tt6.valeurdelavaleurcritique1[1.rows="1".1].") ".sep="")) valeurdelavaleurcritique2 <.".1) .cols="1".c(1.0.sep="")) valeurstatistique2 <.sep="")) affichervaleurcritique2 <.".background="white") .c(valeurcritique) dim(valeurdelavaleurcritique2) <.selectmode="ex tended".".background="white") valeurstatistique1 <tkwidget(tt6.1].1) .cols="1".rows="1".c(1."."."Tests") statistique1 <tkwidget(tt6.1]."table".c("\"Valeur critique\"") dim(affichervaleurcritique2) <.c(T2) dim(valeurstatistique2) <.c("Statistique") dim(statistique2) <.1) .variable="tclarraY2".colwidth="25".0.rows="1".".".c(1.cols="1".1].") ".sel ectmode="extended".colwidth="25".valeurdelavaleurcritique2[1.affichervaleurcritique2[1.sep="")) statistique2 <.0.".Tcl(paste("set tclarraY3(".statistique2[1.1].Tcl(paste("set tclarraY5(".0.variable="tclarraY1".0.Tcl(paste("set tclarraY2(".1) .1].c(1.".0.0.0.valeurstatistique2[1.Tcl(paste("set tclarraY7(".sep="")) tt6<-tktoplevel() tkwm.

text="On effectue le test suivant: Ho: beta1=0 .sel ectmode="extended".variable="tclarraY6".selectmode="ex tended".")) tkgrid(tklabel(tt6.cols="1".cols="1".text="Test de nullité de la pente".variable="tclarraY3".selectmode="ex tended".text="______________________________________________________ ____________________________")) tkgrid(tklabel(tt6."table".selectmode="ex tended".text="\n Remarque: dans tous ce qui suit le risque est fixé à 5%.text=paste("".titlerows="1"."table"."table". font=style1)) tkgrid(tklabel(tt6."table".cols="1".colwidth="25".background="white") statistique2 <tkwidget(tt6.""))) tkgrid(tklabel(tt6.colwidth="25". H1:beta2#0")) .rows="1".text="Test de nullité du terme constant".colwidth="25".titlerows="1".colwidth="25".valeurdelavaleurcritique1 <tkwidget(tt6.background="white") valeurstatistique2 <tkwidget(tt6."table".sel ectmode="extended".rows="1".text="On effectue le test suivant: Ho: beta2=0 .background="white") affichervaleurcritique2 <tkwidget(tt6.cols="1".conclusion1.colwidth="25".cols="1".rows="1".variable="tclarraY4". font=style1)) tkgrid(tklabel(tt6.background="white") tkgrid(tklabel(tt6.rows="1".background="white") valeurdelavaleurcritique2 <tkwidget(tt6. H1:beta1#0")) tkgrid(statistique1) tkgrid(valeurstatistique1) tkgrid(affichervaleurcritique1) tkgrid(valeurdelavaleurcritique1) tkgrid(tklabel(tt6.rows="1".variable="tclarraY7".variable="tclarraY5".text="______________________________________________________ ____________________________")) tkgrid(tklabel(tt6.

but) tkfocus(tt6) } ############################################## ############################################## ############################################## #################### intervallesdeconfiance <.text=" Fermer ".tkbutton(tt6.1] varianceX <.mean(X))^2)/length(X) varianceY <.mean(Y) .beta1chapeau + beta2chapeau * X .tkgrid(statistique2) tkgrid(valeurstatistique2) tkgrid(affichervaleurcritique2) tkgrid(valeurdelavaleurcritique2) tkgrid(tklabel(tt6.mean(Y)))/length(X) beta2chapeau <.sum((X .X[.but <.text=paste("".conclusion2."\n"))) fermertests <.function() { X <.sum((X .mean(X))*(Y .function() { tkdestroy(tt6) } fermer.sum((Y .beta2chapeau * mean(X) Ychapeau <.command=fermertests) tkgrid(fermer.Y[.covarianceXY/ varianceX beta1chapeau <.1] Y <.mean(Y))^2)/length(Y) covarianceXY <.

borneinferieure2.".valeurcritique * sqrt(sigma2chapeaubeta2chapeau) bornesuperieure2 <. font=style1)) tkgrid(tklabel(tt7.borneinferieure1.")) tkgrid(tklabel(tt7.05/2.text="______________________________________________________ ____________________________")) image6 <."))) tkgrid(tklabel(tt7.Ychapeau e2 <.title(tt7.Y ."Intervalles de confiance") tkgrid(tklabel(tt7.text="L'intervalle de confiance de beta2 est:".qt(1 .0."))) ."].text="______________________________________________________ ____________________________")) tkgrid(tklabel(tt7.sum(e2)/(length(X)-2) sigma2chapeaubeta1chapeau <.".".beta1chapeau + valeurcritique * sqrt(sigma2chapeaubeta1chapeau) borneinferieure2 <.text=paste("\n est: [".text=paste("\n est: [".bornesuperieure1.mean(X))^2)) valeurcritique <.sigma2chapeau/(sum((X .text="\n Remarque: dans tous ce qui suit le risque est fixé à 5%.".e1 * e1 sigma2chapeau <.beta1chapeau .bornesuperieure2.tclVar() tkgrid(tklabel(tt7. length(X)-2) borneinferieure1 <.(sigma2chapeau * sum(X^2))/ (length(X)*sum((X .e1 <.valeurcritique * sqrt(sigma2chapeaubeta1chapeau) bornesuperieure1 <.beta2chapeau .beta2chapeau + valeurcritique * sqrt(sigma2chapeaubeta2chapeau) tt7<-tktoplevel() tkwm.text="L'intervalle de confiance de beta1 est:".mean(X))^2)) sigma2chapeaubeta2chapeau <. font=style1)) tkgrid(tklabel(tt7."].

beta2chapeau * mean(X) Ychapeau <.function() { tclRequire("Tktable") X <.mean(Y))^2)/length(Y) covarianceXY <.X[.text="\n")) fermerinterconf <.covarianceXY/ varianceX beta1chapeau <.Y[.beta1chapeau + beta2chapeau * X e1 <.Ychapeau e2 <.mean(X))*(Y .function() { tkdestroy(tt7) } fermer.1] Y <.tkgrid(tklabel(tt7.text=" Fermer ".mean(Y)))/length(X) beta2chapeau <.command=fermerinterconf) tkgrid(fermer.sum((Y .but <.mean(X))^2)/length(X) varianceY <.sum((X .sum((X .mean(Y) .e1 * e1 sigma2chapeau <.but) tkfocus(tt7) } ############################################## ############################################## ############################################## #################### prevision <.Y .sum(e2)/(length(X)-2) .1] varianceX <.tkbutton(tt7.

numeric(tclvalue(valeurX)) valeurentree <.valeurprevisionnelle) dim(prevision1) <.valeurentree.05/2.function() { valeur <.tktoplevel() tkwm.width="20".2) for (i in (0:1)) { for (j in (0:1)) .valeur <."\n").c(2. "Prévision") valeurX <.mean(X))^2))) bornesuperieuredelaprevision= valeurprevisionnelle + valeurcritique * sqrt(sigma2chapeau) * sqrt(1 + (1/length(X)) + ((valeurentree .tt8 <.as.tktoplevel() tkwm. length(X)-2) valeurprevisionnelle = beta1chapeau + beta2chapeau * valeurentree borneinferieuredelaprevision = valeurprevisionnelle .0.textvariable=valeurX) tkgrid(tklabel(tt8. "Prévision") tkgrid(tklabel(tt9.tclVar(" ") entrer.title(tt8.as.title(tt9.text="\n")) prevision1 <.mean(X))^2)/ (sum((X ."\"Valeur prévisionnelle\"".names(X).valeurcritique * sqrt(sigma2chapeau) * sqrt(1 + (1/length(X)) + ((valeurentree .text="\n")) OnOK <.valeur) tkgrid(tklabel(tt8.tkentry(tt8. font=style1)) tkgrid(entrer.mean(X))^2)/ (sum((X .text=paste("\n Veuillez entrer la valeur de la variable ".numeric(tclvalue(valeurX)) valeurcritique = qt(1 .c("X".mean(X))^2))) tt9 <.

"] "))) tkgrid(tklabel(tt9.i.valeurentree.text=" Fermer ".command=fermerprev) tkgrid(fermer.variable="tclarraY7".j.".tkbutton(tt9.Tcl(paste("set tclarraY7(".borneinferieuredelaprevision.titlerows="1".{ .prevision1[i+1.bornesuperieuredelaprevision.but) tkfocus(tt9) } OK.".": .command=OnOK) tkgrid(OK.cols="2".sel ectmode="extended".but) tkgrid(tklabel(tt8.sep="")) } } prevision1 <tkwidget(tt9.".text="\n")) tkdestroy(tt8) fermerprev <.") ". font=style2)) tkgrid(prevision1) tkgrid(tklabel(tt9.function() { tkdestroy(tt9) } fermer.tkbutton(tt8.but <.text=paste("\n Intervalle de prévision: [".text=" OK ".rows="2".".j+1].text="\n")) tkfocus(tt8) } Prévision pour X =".but <.colwidth="25".background="white") tkgrid(tklabel(tt9."table".text=paste(" \n").

c(1.mean(Y))^2)/length(Y) covarianceXY <.mean(Y))^2) SCE <.c("\"Coefficient de détermination\"") valeurcoefficientdedetermination <.mean(Y) ."Résiduelle"."SCT".sum((X .mean(Y)))/length(X) beta2chapeau <.1] varianceX <.1.1] X <."Variation"."Totale".length(X)-1.covarianceXY/ varianceX beta1chapeau <.function() { tclRequire("Tktable") Y <.length(X)-2.c(4."dll" .F.sum((Y .SCE/SCT) dim(analysedelavariancetitre) <.SCR/CME analysedelavariancetitre <.sum((Y-Ychapeau)^2) CME <.F) titrecoefficientdedetermination <."CM".############################################## ############################################## ############################################## #################### analysedelavariance <.X[."SCR"."SCE"."F".beta1chapeau + beta2chapeau * X SCT <.beta2chapeau * mean(X) Ychapeau <.F.SCR.6) .mean(Y))^2) SCR <.CME."SC".sum((X .c("\"Le tableau ANOVA\"") analysedelavariancecontenu <c("\" \""."Expliquée".mean(X))^2)/length(X) varianceY <.SCR.SCE.SCT.SCR.mean(X))*(Y .sum((Ychapeau.c("R²".Y[.1) dim(analysedelavariancecontenu) <.SCE/(length(X)-1) F <.sum((Y .

sep="")) for (i in (0:3)) for (j in (0:5)) .") ".colwidth="25".2].". selectmode="extended".Tcl(paste("set tclarray12(".0.rows="4".") ".".".1].".valeurcoefficientdedetermination[1.background="white") tkgrid(adlvcontenu) tkgrid(tklabel(tt10.background="white") tkgrid(cddtitre) .j.".Tcl(paste("set tclarray13(".Tcl(paste("set tclarray13(".0.0.rows="1".".selectmode=" extended".colwidth="25".titlerows="1".0.sep="")) .") ".analysedelavariancecontenu[i+1.2) .cols="6".".colwidth="25".i. selectmode="extended".1].") ".text="\n")) adlvtitre <tkwidget(tt10.dim(titrecoefficientdedetermination) <.".background="white") tkgrid(adlvtitre) adlvcontenu <tkwidget(tt10.rows="1".1.c(1.valeurcoefficientdedetermination[1.sep="")) tt10<-tktoplevel() tkwm.sep="")) .text="\n")) cddtitre <tkwidget(tt10.variable="tclarray11".variable="tclarray10".titrecoefficientdedetermination[1.Tcl(paste("set tclarray10(". "Analyse de la variance") tkgrid(tklabel(tt10.c(1."."."table".1) dim(valeurcoefficientdedetermination) <.1]."table".0.analysedelavariancetitre[1.") ".Tcl(paste("set tclarray11(".cols="1".cols="1"."table".0.sep="")) .titlerows="1".variable="tclarray12".title(tt10.0.j+1].

function() { library(tkrplot) Myhscale <.but <.variable="tclarray13".command=fermeranov) tkgrid(fermer.5 plotFunction <.text="\n")) fermeranov <.cddcontenu <tkwidget(tt10.1] Y1 = Y[.qt(1 .1.rows="1".text=" Fermer ".1.function() { params <.0.par(bg="white") X1 = X[.1] Xsort <."table".but) } ############################################## ############################################## ############################################## #################### resume <.colwidth="25".cols="2".function() { tkdestroy(tt10) } fermer.sort(X1) valeurcritique <. length(X1)-2) .5 Myvscale <.tkbutton(tt10.selectmode=" extended".05/2.background="white") tkgrid(cddcontenu) tkgrid(tklabel(tt10.

mean(X1))^2)/length(X1) varianceY <.valeurcritique * sqrt(sigma2chapeau) * sqrt(1 + (1/length(X1)) + ((Xsort .Y .covarianceXY/ varianceX beta1chapeau <.mean(X2) moyenneY <.sum((Y1 .1] moyenneX <.Ychapeau1 e2 <.sum(e2)/(length(X1)-2) SCT <.sum((Ychapeau1.varianceX <.Y[.mean(Y2) droiteinferieure = beta1chapeau + beta2chapeau * Xsort .mean(Y1))^2) SCR <.X[.mean(X1))^2) / (sum((Xsort .sum((Y1 .sum((Y1-Ychapeau1)^2) r = SCE/SCT X2 <.mean(X1))*(Y1 .1] Y2 <.mean(X1))^2) / (sum((Xsort .mean(X1))^2) / (sum((Xsort mean(X1))^2))) .sum((X1 .valeurcritique * sqrt(sigma2chapeau) * sqrt(1/length(X1) + ((Xsort .mean(Y1))^2)/length(Y1) covarianceXY <.beta1chapeau + beta2chapeau * X1 Ychapeau2 <.beta2chapeau * mean(X1) Ychapeau1 <.mean(X1))^2))) droitesuperieure = beta1chapeau + beta2chapeau * Xsort + valeurcritique * sqrt(sigma2chapeau) * sqrt(1/length(X1) + ((Xsort .sum((X1 .mean(Y1) .beta1chapeau + beta2chapeau * sort(X1) e1 <.mean(Y1))^2) SCE <.mean(X1))^2))) previsionsinferieures = Ychapeau2 .mean(Y1)))/length(X1) beta2chapeau <.e1 * e1 sigma2chapeau <.

command=function() tkdestroy(tt)) .tktoplevel() tkwm.C.max(Y.xlim = c(min(X1).ylab = "".lty = 2.pch=4.moyenneY. de la droite de régression". col = "blue") legend(moyenneX.max(X1)).c("Droite de régression".lwd=2.max(X1)).droiteinferieure).max(X1)). type="l".xlab = "".lwd=2.beta2chapeau.droiteinferieure. ylab = names(Y).fun=plotFunction. lwd=2) par(new = TRUE) plot(Xsort. "I.max(Y1.lty = 2.droitesuperieure)).max(Y.max(X1)). col = "blue") par(new = TRUE) plot(Xsort. col = "grey") par(new = TRUE) plot(Xsort.xlab = "". des prévisions").max(Y1.C. ylim = c(min(Y1.previsionsinferieures.previsionssuperieures = Ychapeau2 + valeurcritique * sqrt(sigma2chapeau) * sqrt(1 + (1/length(X1)) + ((Xsort .col=c("black".droiteinferieure ). xlab = names(X).droitesuperieure))) abline(beta1chapeau. ylim = c(min(Y1.vscale=Myvscale) tkgrid(img) OK. xlim = c(min(X1).ylab = "". "grey".lty = 2.lwd=2.xlab = "". col = "grey") par(new = TRUE) plot(Xsort. xlim = c(min(X1). xlim = c(min(X1).droitesuperieure)).droitesuperieure )). xlim = c(min(X1).max(X1)).tkrplot(tt."Nuage de points. "I.droitesuperieure.xlab = "".previsionssuperieures.droiteinferieure ).type="l". ylim = c(min(Y1.hscale=Myhscale.lwd=2.text=" Fermer ". Droite de régression et Intervalles de Confiance") img <.tkbutton(tt.droitesuperieure )).ylab = "".max(Y1. "blue")) } tt <.type="l".ylab = "".but <. type="l". main = paste("Résumé"). ylim = c(min(Y1.lwd=2.mean(X1))^2) / (sum((Xsort mean(X1))^2))) plot(Y1~X1. ylim = c(min(Y1.title(tt.droiteinferieure). col = "black". lty = 2.droiteinferieure).

X) visualiserdonneesmult <.title(tt19. code. "". sep="\n") print(eval(e)) tt19 <.tkgrid(OK. pos=4) \n showData(Donnees.function() { T <.try(parse(text=code)) cat("". placement='20+200'.summary(T)") e <.X) code <.tktoplevel() tkwm. maxwidth=80.but) } ############################################## ############################################## ############################################## #################### regressionlineairemultiple <.X) code <."Statistiques descriptives") .function() { Donnees <.cbind(Y. sep="\n") print(eval(e)) } statistiquesdescriptivesmult <.(text="library(relimp.(text="stats <. "". maxheight=30)") e <.cbind(Y.function() { T <.cbind(Y.try(parse(text=code)) cat("". code.

borderwidth=2) sf <.stats[i-(i-1)+3.i]. text=paste("Min.i]. = Troisième quartile \n Max.i." | "."see"." | "." | ".i].tcl("entry".entryList[[i]])) tkinsert(entryList[[i]].relief="sunken".but <.sf) subfID <." | ".but) tkfocus(tt19) ." | ".paste(subfID.". = Minimum \n 1st Qu.i].function() tcl(sf.command=fermerstatistiquesdescriptivesmult) tkgrid(fermer."getframe")) entryList <.text=" Fermer ".font=style1 .i]."ScrolledWindow"."setwidget".function() { tkdestroy(tt19) } fermer.i])) } tkgrid(sw) tkgrid(tklabel(tt19.paste("Variable:".stats[i-(i-1).stats[i-(i-1)+5. = Maximum \n"))) fermerstatistiquesdescriptivesmult <.stats[i-(i-1)+1.tkwidget(sw." | ".list() for (i in (1:length(T))) { entryList[[i]] <.".font=style2 . text="Note".foreground="red")) sw <.foreground="red")) tkgrid(tklabel(tt19.tclvalue(tcl(sf."<FocusIn>".tkgrid(tklabel(tt19.stats[i-(i-1)+2.width=50) tkgrid(entryList[[i]].tkwidget(tt19.tkbutton(tt19. = Premier quartile \n Median = Médiane \n Mean = Moyenne \n 3rd Qu.stats[i-(i1)+4.sep="").pady=4) tkbind(entryList[[i]]. text="\n Statistiques descriptives des variables \n".names(T)[i]."end"."ScrollableFrame") tcl(sw.

Co[i])) } tkgrid(tklabel(tt19."ScrolledWindow".try(parse(text=code)) cat("".relief="sunken"."setwidget".pady=4) tkbind(entryList[[i]].X) code <."end".width=50) tkgrid(entryList[[i]].function() { T <.title(tt19.sf) subfID <.tkwidget(sw."getframe")) entryList <."Estimateurs des MCO") sw <. "".foreground="red")) tkgrid(sw) fermerestimateursmcomult <.sep="").tclvalue(tcl(sf.function() tcl(sf. sep="\n") print(eval(e)) tt19 <." est :".font=style2 .".} estimateursmcomult <."<FocusIn>".(text="RegMode <.tkwidget(tt19.RegMode$coefficients") e <.borderwidth=2) sf <.function() { .i.entryList[[i]])) tkinsert(entryList[[i]].". text="\n Les estimateurs des MCO \n".paste("L'estimateur de Beta".tktoplevel() tkwm."ScrollableFrame") tcl(sw.lm(T) \n Co <. code.i.list() for (i in (1:length(T))) { entryList[[i]] <.cbind(Y.paste(subfID."see".tcl("entry".

tkwidget(sw. le risque alpha est fixé à 5% \n ______________________________________________________________________________ __________________________")) sw <. text="\n Dans ce qui suit.cbind(Y.relief="sunken"."ScrolledWindow".tclvalue(tcl(sf. text="\n Intervalles de confiance". code.function() { T <.tkbutton(tt19.font=style2 .tkdestroy(tt19) } fermer.tktoplevel() tkwm.text=" Fermer ".foreground="red")) tkgrid(tklabel(tt19.sf) subfID <.list() ."ScrollableFrame") tcl(sw. sep="\n") print(eval(e)) tt19 <.confint(RegMode)") e <."Intervalles de confiance") tkgrid(tklabel(tt19.try(parse(text=code)) cat("".(text="RegMode <. text="_______________________________________________________________________ _________________________________")) tkgrid(tklabel(tt19. ""."setwidget".X) code <."getframe")) entryList <.but) tkfocus(tt19) } Intervallesdeconfiancemult <.borderwidth=2) sf <.title(tt19.but <.lm(T) \n intervalle <.command=fermerestimateursmcomult) tkgrid(fermer.tkwidget(tt19.

sep="\n") print(eval(e)) tclRequire("BWidget") .intervalle[i.lm(T) \n ResMode <.paste("Pour Beta".entryList[[i]])) tkinsert(entryList[[i]].intervalle[i.tcl("entry".".".function() tcl(sf."see".i-(i1)].pady=4) tkbind(entryList[[i]]."end".paste(subfID.try(parse(text=code)) cat("".text=" Fermer ".residuals(RegMode)") e <.but <.(text="RegMode <."]")) } tkgrid(sw) fermerIntervallesdeconfiancemult <. code.i.for (i in (1:length(T))) { entryList[[i]] <.function() { T <.cbind(Y. ""." : [".function() { tkdestroy(tt19) } fermer.tkbutton(tt19."."<FocusIn>".but) tkfocus(tt19) tkfocus(tt19) } residus <.command=fermerIntervallesdeconfiancemult) tkgrid(fermer.i.sep="").X) code <.".width=50) tkgrid(entryList[[i]].i-(i-1)+1].

entryList[[i]])) tkinsert(entryList[[i]].fill="both".(text="RegMode <.predict(RegMode)") e <."."ScrollableFrame") tcl(sw.function() tcl(sf.tkwidget(tt19.relief="sunken".tt19 <.tktoplevel() tkwm.tclvalue(tcl(sf.lm(T) \n ResMode <. sep="\n") print(eval(e)) .expand="yes") } predictions <. code. foreground="red")) sw <.text="Résultat") tkpack(lab) entryList <.sep="")."ScrolledWindow".X) code <."setwidget".title(tt19.sf) subfID <.sep="").cbind(Y.tkwidget(sw.try(parse(text=code)) cat(""."<FocusIn>"."end".paste(subfID.paste(subfID.borderwidth=2) sf <."."getframe")) lab <.fill="x"."Résidus") tkpack(tklabel(tt19.text="Les résidus".function() { T <.width=50) tkpack(entryList[[i]].".paste(ResMode[i])) } tkpack(sw.tcl("entry".pady=4) tkbind(entryList[[i]].font=style2 .list() for (i in (1:dim(T))) { entryList[[i]] <.i.tcl("label". ""."see".lab".

sep="").width=50) tkpack(entryList[[i]].tcl("label".lab". foreground="red")) sw <.cbind(Y."getframe")) lab <."."."end"."ScrollableFrame") tcl(sw.paste(subfID.paste(ResMode[i])) } tkpack(sw.relief="sunken".font=style2 . sep="\n") print(eval(e)) .function() { T <.text="Les prédictions"."ScrolledWindow".try(parse(text=code)) cat("".tclRequire("BWidget") tt19 <.i."setwidget".fill="x".tktoplevel() tkwm.sep="").tcl("entry".pady=4) tkbind(entryList[[i]].text="Résultat") tkpack(lab) entryList <.tkwidget(tt19.lm(T) \n AnoMode <."see".function() tcl(sf.tclvalue(tcl(sf.fill="both".".expand="yes") } anov <.title(tt19.list() for (i in (1:dim(T))) { entryList[[i]] <.(text="RegMode <.borderwidth=2) sf <.paste(subfID.sf) subfID <.tkwidget(sw.X) code <. ""."Prédictions") tkpack(tklabel(tt19."<FocusIn>". code.entryList[[i]])) tkinsert(entryList[[i]].anova(RegMode)") e <.

".AnoMode[length(T)." | SCR =".AnoMode[length(T).tkwidget(sw.".title(tt19.width=50) tkgrid(entryList[[length(T)]]." | MCE=".i-(i1)+2].i-(i-1)].AnoMode[i."Tableau ANOVA") sw <.font=style2 .paste(subfID." | DDL ="." | MCR="."setwidget".length(T).AnoMode[i."see".AnoMode[i.names(X)[i].pady=4) tkbind(entryList[[length(T)]].i.paste("Variable :"." | SCE =".AnoMode[i.tt19 <.tclvalue(tcl(sf.borderwidth=2) sf <.sep="")."end". foreground="red")) tkgrid(sw) fermeranov <.pady=4) tkbind(entryList[[i]].function() tcl(sf.paste("Résidus | DDL ="."."getframe")) entryList <.paste(subfID.i-(i-1)+4])) } entryList[[length(T)]] <tcl("entry".width=50) tkgrid(entryList[[i]]."see".entryList[[i]])) tkinsert(entryList[[i]].AnoMode[i."<FocusIn>".function() tcl(sf. text="\n Analyse de la variance \n"." | Pr(>F) =".length(T)-(length(T)-1)+1].sf) subfID <.length(T)-(length(T)-1)]." | F =".tcl("entry".i-(i-1)+3].".list() for (i in (1:(length(T)-1))) { entryList[[i]] <."<FocusIn>".i-(i-1)+1]."ScrollableFrame") tcl(sw.length(T)-(length(T)-1)+2])) tkgrid(tklabel(tt19.function() ."ScrolledWindow".entryList[[length(T)]])) tkinsert(entryList[[length(T)]].relief="sunken"."end".tktoplevel() tkwm.tkwidget(tt19.sep="").AnoMode[length(T).

title(tt18.TclList <.text=paste("La variable explicative n°".{ tkdestroy(tt19) } fermer.sep="") result } tclRequire("BWidget") tt18 <."est : ".text="________________________________________________ \n\n".function(stringList) { result <-"{" for (i in (1:length(stringList))) result <."").function(object.."}".command=fermeranov) tkgrid(fermer.text = paste("________________________________________________ \n \n La variable à expliquer est : "."{".i."} "."Menu de la regression linéaire multiple") tkgrid(tklabel(tt18.but <. names(Y)) . font=style1)) .TclList") as.paste(result..) UseMethod("as.stringList[[i]].sep="") result <.but) tkfocus(tt19) } as.tktoplevel() tkwm.tkbutton(tt19.paste(result.list <.font=style1)) tkgrid(tklabel(tt18.names(X) [i]..font=style1)) for (i in (1:(length(T)-1))) tkgrid(tklabel(tt18.TclList.text=" Fermer ".

list("Table de données".Tk.Tk.numeric(tclvalue(tcl(comboBox."Résidus".menudelaregressionlineairemultipleTclList)) tkgrid(comboBox) OnOK <.Tcl(paste("ComboBox"."Estimateurs des MCO". font=style2)) menudelaregressionlineairemultiple <.."Prédictions".function() { choixmenudelaregressionlineairemultiple <menudelaregressionlineairemultiple[[as.."Intervalles de confiance"."Statistiques descriptives".subwin(tt18) .TclList(menudelaregressionlineairemultiple) comboBox <.tkgrid(tklabel(tt18.ID(comboBox).text="\n Veuillez indiquer le nombre de variables explicatives: \n"."Analyse de la variance") menudelaregressionlineairemultipleTclList <as."getv alue")))+1]] if (choixmenudelaregressionlineairemultiple=="Table de données") { visualiserdonneesmult() } if (choixmenudelaregressionlineairemultiple=="Statistiques descriptives") { statistiquesdescriptivesmult() } if (choixmenudelaregressionlineairemultiple=="Estimateurs des MCO") { estimateursmcomult() } if (choixmenudelaregressionlineairemultiple=="Intervalles de confiance") ."-editable true -values".

command=changerlejeudedonnees) .but <.function() { tkdestroy(tt18) parcourir() } parcourir.command=OnOK) tkgrid(tklabel(tt18.tkbutton(tt18.but) tkgrid(tklabel(tt18.text=" OK ".text=" Changer le jeu de données ".tkbutton(tt18.but <.text="\n")) tkgrid(OK.text="\n")) changerlejeudedonnees <.{ Intervallesdeconfiancemult() } if (choixmenudelaregressionlineairemultiple=="Résidus") { residus() } if (choixmenudelaregressionlineairemultiple=="Prédictions") { predictions() } if (choixmenudelaregressionlineairemultiple=="Analyse de la variance") { anov() } } OK.

tkgrid(parcourir.function() { code <.but) changerlaregression <.command=quitterlemenudelaregressionsimple) tkgrid(quitter.but) tkgrid(tklabel(tt18.text=" Quitter ".tkbutton(tt18.function() { tkdestroy(tt18) } quitter. sep="\n") print(eval(e)) } lancerrcommander. code.text=" Changer la régression ".text="\n")) .command=lancerrcommander) tkgrid(lancerrcommander.but) lancerrcommander <.text=" Lancer R Commander ". "".(text="library(Rcmdr)") e <.but <.command=changerlaregression) tkgrid(changerlaregression.tkbutton(tt18.function() { tkdestroy(tt18) choixdelaregression() } changerlaregression.but) quitterlemenudelaregressionsimple <.but <.but <.try(parse(text=code)) cat("".tkbutton(tt18.

tkfocus(tt18) } ############################################## ############################################## ############################################## #################### choixdesvariablesexplicatives <.configure(scr2.background="white") tkgrid(tklabel(tt14.yscrollcommand=function(. " Choix de la variable explicative (notée X)") scr2 <.sticky="nsw") for (i in (0:n+1)) { tkinsert(tl2.).height=4. font = style2)) tkgrid(tl2..function() { nombredevariables <.variable2[i]) } tkselection..title(tt14.tktoplevel() tkwm..scr2) tkgrid.function() { Veuillez préciser la variable explicative ."end".)) tl2<tklistbox(tt14.0) OnOK <.)tkyview(tl2. repeatinterval=5..selectmode="extended".names(donnees) tt14 <.set(tl2.tkscrollbar(tt14..command=function(.length(donnees) n <...text=" "..nombredevariables-1 variable2 <..rowspan=4. )tkset(scr2..

rowspan=4.command=OnOK) tkgrid(OK.background="white") tkgrid(tklabel(tt13..function() { nombredevariables <..donnees[choixVar2] assign("X".length(donnees) n <.numeric(tkcurselection(tl2))+1] tkdestroy(tt14) X <.nombredevariables-1 tt13 <.text=" OK ".)tks et(scr. X. repeatinterval=5.tkscrollbar(tt13.title(tt13.configure(scr... envir = globalenv()) regressionlineairemultiple() } OK..selectmode="single".but <-tkbutton(tt14.)..command=function(.yscrollcommand=function(.variable2[as.)tkyview(liste.tktoplevel() tkwm. font = style2)) tkgrid(liste.text=" "..sticky="nsw") Veuillez séléctionner la variable à expliquer ..choixVar2 <."Choix de la variable à expliquer (notée Y)") scr <.)) liste<tklistbox(tt13.scr) tkgrid.but) tkfocus(tt14) } ############################################## ############################################## ############################################## #################### choixdelavariableaexpliquer2 <...height=4.

donnees[choixVar] assign("Y"."end".but <-tkbutton(tt13.function() { choixVar <.but) tkfocus(tt13) } ############################################## ############################################## ############################################## #################### regressionlineairesimple <. variable[i]) } tkselection.Y.cbind(Y.envir = globalenv()) choixdesvariablesexplicatives() } OK.function() { visualiserdonneessim <.text=" tkgrid(OK.variable <.function() { Donnees <.0) OnOK <.variable[as.set(liste.command=OnOK) .names(donnees) for (i in (0:n+1)) { tkinsert(liste.X) OK ".numeric(tkcurselection(liste))+1] tkdestroy(tt13) Y <.

tcl("label".borderwidth=2) sf <.sep="").try(parse(text=code)) cat("".paste(subfID.cbind(Y. maxwidth=80. code.i.tclvalue(tcl(sf.tcl("entry"."Résidus") tkpack(tklabel(tt19.try(parse(text=code)) cat("".font=style2 . code. pos=4) \n showData(Donnees.lm(T) \n ResMode <."getframe")) lab <."ScrolledWindow".tkwidget(tt19.width=50) .text="Les résidus". maxheight=30)") e <.X) code <.relief="sunken".residuals(RegMode)") e <. sep="\n") print(eval(e)) tclRequire("BWidget") tt19 <.text="Résultat") tkpack(lab) entryList <. placement='20+200'.".".(text="library(relimp. "".title(tt19.tktoplevel() tkwm."."setwidget".tkwidget(sw.lab"."ScrollableFrame") tcl(sw.paste(subfID.sf) subfID <.code <. foreground="red")) sw <. "".(text="RegMode <.sep="").list() for (i in (1:dim(T))) { entryList[[i]] <.function() { T <. sep="\n") print(eval(e)) } residus <.

"<FocusIn>".function(stringList) { result <-"{" for (i in (1:length(stringList))) result <.tktoplevel() tkwm.paste(result.tkpack(entryList[[i]]. font=style1)) tkgrid(tklabel(tt1."} ".stringList[[i]].function() tcl(sf.TclList <.font=style1)) tkgrid(tklabel(tt1.font=style1)) tkgrid(tklabel(tt1. names(Y)) .paste(ResMode[i])) } tkpack(sw. names(X)) .sep="") result } tclRequire("BWidget") tt1 <.TclList.) UseMethod("as.text="\n font=style2)) Veuillez indiquer votre choix: \n"."end".text="________________________________________________ \n\n"."Menu de la regression linéaire simple") tkgrid(tklabel(tt1.expand="yes") } as.. .function(object."}".sep="") result <.title(tt1.list <.entryList[[i]])) tkinsert(entryList[[i]].."{"."see".TclList") as.pady=4) tkbind(entryList[[i]].paste(result.text = paste("La variable explicative est : "..fill="both".text = paste("________________________________________________ \n \n La variable à expliquer est : ".fill="x".

.subwin(tt1) .menudelaregressionlineairesimpleTclList)) tkgrid(comboBox) OnOK <.list("Table de données"."Analyse de la variance".ID(comboBox).function() { choixmenudelaregressionlineairesimple <menudelaregressionlineairesimple[[as."-editable true -values"."Tests"."Résidus"."getval ue")))+1]] if (choixmenudelaregressionlineairesimple=="Table de données") { visualiserdonneessim() } if (choixmenudelaregressionlineairesimple=="Statistiques descriptives") { statistiquesdescriptives() } if (choixmenudelaregressionlineairesimple=="Nuage de points") { nuagedepoints() } if (choixmenudelaregressionlineairesimple=="Estimateurs des MCO") { estimateursdesmco() ."Statistiques descriptives"."Résumé") menudelaregressionlineairesimpleTclList <as.numeric(tclvalue(tcl(comboBox.TclList(menudelaregressionlineairesimple) comboBox <.Tk."Prévisions"."Estimateurs des MCO"..Tk.Tcl(paste("ComboBox".menudelaregressionlineairesimple <."Nuage de points"."Intervalles de confiance".

} if (choixmenudelaregressionlineairesimple=="Tests") { tests() } if (choixmenudelaregressionlineairesimple=="Intervalles de confiance") { intervallesdeconfiance() } if (choixmenudelaregressionlineairesimple=="Prévisions") { prevision() } if (choixmenudelaregressionlineairesimple=="Analyse de la variance") { analysedelavariance() } if (choixmenudelaregressionlineairesimple=="Résidus") { residus() } if (choixmenudelaregressionlineairesimple=="Résumé") { resume() } } .

function() { tkdestroy(tt1) parcourir() } parcourir.but) tkgrid(tklabel(tt1.tkbutton(tt1.function() { tkdestroy(tt1) choixdelaregression() } changerlaregression.command=OnOK) tkgrid(tklabel(tt1.tkbutton(tt1. "". code.text="\n")) tkgrid(OK.try(parse(text=code)) cat("". sep="\n") print(eval(e)) } .but <.command=changerlejeudedonnees) tkgrid(parcourir.but <.tkbutton(tt1.text=" OK ".but <.command=changerlaregression) tkgrid(changerlaregression.text=" Changer le jeu de données ".text=" Changer la régression ".function() { code <.but) lancerrcommander <.but) changerlaregression <.(text="library(Rcmdr)") e <.OK.text="\n")) changerlejeudedonnees <.

" Choix de la variable explicative (notée X)") scr2 <.)) tl2<tklistbox(tt14.)tkyview(tl2.function() { nombredevariables <.)tks et(scr2.function() { tkdestroy(tt1) } quitter.selectmode="single".tkbutton(tt1...height=4.tkbutton(tt1.nombredevariables-1 variable2 <.command=function(..text=" Quitter "..)..but <.but) tkgrid(tklabel(tt1.names(donnees) tt14 <.command=lancerrcommander) tkgrid(lancerrcommander. repeatinterval=5.length(donnees) n <.background="white") ..tktoplevel() tkwm.text="\n")) tkfocus(tt1) } ############################################## ############################################## ############################################## #################### choixdelavariableexplicative <.lancerrcommander.title(tt14...but) quitterlemenudelaregressionsimple <.command=quitterlemenudelaregressionsimple) tkgrid(quitter.yscrollcommand=function(.tkscrollbar(tt14..text=" Lancer R Commander "..but <.

scr2) Veuillez préciser la variable explicative tkgrid.function() { choixVar2 <.donnees[choixVar2] assign("X". X.0) OnOK <.set(tl2.text=" ".text=" OK ". envir = globalenv()) regressionlineairesimple() } OK.configure(scr2.numeric(tkcurselection(tl2))+1] tkdestroy(tt14) X <.length(donnees) .command=OnOK) tkgrid(OK.variable2[i]) } tkselection. font = style2)) tkgrid(tl2.tkgrid(tklabel(tt14.function() { nombredevariables <.rowspan=4.but) tkfocus(tt14) } ############################################## ############################################## ############################################## #################### choixdelavariableaexpliquer1 <."end".variable2[as.sticky="nsw") for (i in (0:n+1)) { tkinsert(tl2.but <-tkbutton(tt14.

yscrollcommand=function(.text=" tkgrid(OK.).nombredevariables .Y....function() { choixVar <.n <..height=4.set(liste..text=" ". variable[i]) } tkselection.background="white") tkgrid(tklabel(tt12.command=function(. font = style2)) tkgrid(liste..but <-tkbutton(tt12.sticky="nsw") variable <.variable[as.configure(scr. repeatinterval=5.)tks et(scr.names(donnees) for (i in (0:n + 1)) { tkinsert(liste.)) liste<tklistbox(tt12..command=OnOK) Veuillez séléctionner la variable à expliquer ."end".1 tt12 <..envir = globalenv()) choixdelavariableexplicative() } OK.scr) tkgrid.but) OK ".title(tt12."Choix de la variable à expliquer (notée Y)") scr <.tkscrollbar(tt12..selectmode="single".donnees[choixVar] assign("Y".rowspan=4.)tkyview(liste..0) OnOK <.numeric(tkcurselection(liste))+1] tkdestroy(tt12) Y <.tktoplevel() tkwm.

"-editable true -values"."multiple") choixTclList <...list("simple".Tk.sep="") result <..as.function(stringList) { result <-"{" for (i in (1:length(stringList))) result <.paste(result.Tk."} ".text=" \n".) UseMethod("as.Tcl(paste("ComboBox".TclList") as.subwin(tt) .sep="") result } tclRequire("BWidget") tt<-tktoplevel() tkwm.choixTclList)) Veuillez indiquer votre choix de régression .height=3.selectmode="single"..tkfocus(tt12) } ############################################## ############################################## ############################################## #################### choixdelaregression <-function() { as. font=style2)) choix <.TclList <.function(object.TclList.paste(result.TclList(choix) comboBox1 <..list <.ID(comboBox1)."Liste des choix") tl<-tklistbox(tt."}"."{".title(tt.stringList[[i]].background="white") tkgrid(tklabel(tt.

text=" OK ".function() { choixdelaregression <choix[[as."getvalue")))+1]] if (choixdelaregression=="simple") { tkdestroy(tt) choixdelavariableaexpliquer1() } if (choixdelaregression=="multiple") { tkdestroy(tt) choixdelavariableaexpliquer2() } } OK.command=OnOK) tkgrid(OK.text="\n")) tkfocus(tt) } ############################################## ############################################## ############################################## #################### parcourirdonnees <.numeric(tclvalue(tcl(comboBox1.function() { tclRequire("BWidget") .but <-tkbutton(tt.tkgrid(comboBox1) OnOK <.but) tkgrid(tklabel(tt.

".function(){ extension <typesdisponibles[as.".") menuseparateur <tkwidget(typedefichier.nomdufichier.editable=F.text="Veuillez préciser l'extention de votre table de données")) tkgrid(menutypesdefichier) separateur <.envir=.editable=F.deiconify(typedefichier) tkgrab.values=separateur) tkgrid(tklabel(typedefichier.nomdufichier<-tclvalue(tkgetOpenFile()) assign("fichier".csv".values=typesdisponibles) tkgrid(tklabel(typedefichier.".c("."ComboBox".extension.GlobalEnv) .tktoplevel() tkwm.txt".text="Veuillez préciser les options de votre table de données".GlobalEnv) typedefichier <.". font=style2)) typesdisponibles <.c("espace".dat"."tab"."Options d'ouvertue de la table de données") tkgrid(tklabel(typedefichier.numeric(tclvalue(tcl(menuseparateur.envir=.separateur[as.set(typedefichier) tkfocus(typedefichier) tkwm."getvalue"))) +1] assign("ext".numeric(tclvalue(tcl(menutypesdefichier.".envir=."ComboBox".title(typedefichier.separ."."getvalue"))) +1] separ <.GlobalEnv) assign("Sep".text="Veuillez préciser le séparateur qui sépare vos données")) tkgrid(menuseparateur) ChoixOK <.xls") menutypesdefichier <tkwidget(typedefichier.

envir=.sep="") } else { if(Sep=="tab") { donnees <.dat") { if(Sep=="espace") { donnees <.sep=Sep) } } assign("donnees".read.table(fichier.header=TRUE.xls") { library(RODBC) .tkdestroy(typedefichier) choixdelaregression() if(ext==".csv" || ext==".txt" || ext==".header=TRUE.donnees.read.GlobalEnv) } else { if(ext==".table(fichier.sep="\t") } else { donnees <.header=TRUE.read.table(fichier.

sqlFetch(channel. "Feuil1") assign("donnees".command=ChoixOK) tkgrid(BoutonOK) tkfocus(typedefichier) } ############################################## ############################################## ############################################## #################### .xls") donnees <.text=" OK ".envir=.GlobalEnv) } } } BoutonOK <-tkbutton(typedefichier.channel <.donnees.odbcConnectExcel("fichier.

Sign up to vote on this title
UsefulNot useful