O3vsT12 <- function(){ #ozone <-read.table("C:\\Users\\garivier\\Documents\\garivier\\Centrale08\\ozone.txt", header=T, sep=";", row.names=1); ozone <-read.table("ozone.txt", header=T, sep=";", row.names=1); rePlot <- function(...){ if (as.integer(tclvalue(k))==0) {modlin <- lm(maxO3 ~ 1, data=ozone)%3b%7d.html else {modlin <- lm(maxO3 ~ poly(T12, as.integer(tclvalue(k))), data=ozone)%3b%7d.html plot(ozone$T12, ozone$maxO3, col="blue", ylim=c(30, 160)); grid <- data.frame(T12=seq(min(ozone$T12), max(ozone$T12), length=100)) ICdte <- predict(modlin, new=grid, interval="confidence", level=0.95) matlines(grid$T12, cbind(ICdte), lty=c(1,2,2), col="red", lwd=3) } require(tcltk); k <- tclVar(1); base <- tktoplevel(); tkwm.title(base,'Simple regression'); tt <- tkframe(base, borderwidth=2) sliderFrame <- tkframe(tt, borderwidth=2, relief='groove'); kFrame <- tkframe(sliderFrame, borderwidth=2); kLabel <- tklabel(kFrame, text="Polynomial order:", width=30); kSlider <- tkscale(kFrame, from=0, to=18, length=200, showvalue=T, variable=k, resolution=1, orient='horizontal', command=rePlot) tkpack(kFrame, kLabel, kSlider, side='left'); tkpack(sliderFrame, kFrame, side='top'); tkpack(tt, sliderFrame, side='top'); } O3vsT12()