Hello,
I wrote a function in R which uses tcltk package .... essentially I wanted
to give within that function, a widget with 2 radiobuttons to choose
between plotting Precip and Temperature plots. After the user has chosen
one of the radiobuttons there is another widget that asking him to identify
outliers. However, I am having a lot of problems...what R does is evaluate
the whole function without pausing...if I introduce a while() loop as I
have in the example below, R does nothing until I hit cntrl-c upon which it
shows the widget and comes out of the function......I could use a while
loop in S-PLUS using the dialog.create() dialog.display() functions, but I
cannot seem to implement that functionality in R.....what am I doing wrong?
I enclose below the sample function...Any help will be greatly
appreciated....
Prasad
"tcltktst" <-
function(x="") {
xd <- read.table(x, header=T)
library("tcltk")
tt <- tktoplevel()
tktitle(tt) <- "Diagnostics"
label.widget <- tklabel(tt, text="Choose!")
pptlabs <- function() {
plot(xd$iv802, xd$PPT)
abline(0,1)
tt2 <- tktoplevel()
tktitle(tt2) <- "Identify Outliers"
lab.wid2 <- tklabel(tt2, text="Identify Outliers")
but.wid2 <- tkbutton(tt2, text="OK", command=function()
tkdestroy(tt2))
tkpack(lab.wid2, but.wid2)
labp <- identify(xd$iv802, xd$PPT, label=xd$FIPS)
dev.print(png, "pptlabs.png", width=600,height=600)
}
templabs <- function() {
plot(xd$iv802, xd$AVGT)
abline(0,1)
tt2 <- tktoplevel()
tktitle(tt2) <- "Identify Outliers"
lab.wid2 <- tklabel(tt2, text="Identify Outliers")
but.wid2 <- tkbutton(tt2, text="OK", command=function()
tkdestroy(tt2))
tkpack(lab.wid2, but.wid2)
labp <- identify(xd$iv802, xd$AVGT, label=xd$FIPS)
dev.print(png, "templabs.png", width=600,height=600)
}
tclvar$choice <- 99
rbut.wid <- tkradiobutton(tt, text="Precipitation", value=0,
variable=tclvar$choice,
command=pptlabs)
rbut.wid2 <- tkradiobutton(tt, text="Temperature", value=1,
variable=tclvar$choice,
command=templabs)
but.wid <- tkbutton(tt, text="FINISHED", command=function(){
dxcbutt <-
"Cancel"; tkdestroy(tt)})
tkpack(label.widget)
tkpack(rbut.wid)
tkpack(rbut.wid2)
#tkpack.configure(rbut.wid,side="left")
tkpack(but.wid)
dxcbutt <- "OK"
while(dxcbutt == "OK") {
if(dxcbutt=="Cancel") break
}
plot(xd$AVGT, xd$PPT)
}
*****************************************************************
Mr. Anantha Prasad, Ecologist/GIS Specialist
USDA Forest Service, 359 Main Rd.
Delaware OHIO 43015 USA
Ph: 740-368-0103 Email: aprasad at fs.fed.us
Web: http://www.fs.fed.us/ne/delaware/index.html
Don't Miss Climate Change Tree Atlas at:
http://www.fs.fed.us/ne/delaware/atlas/index.html
******************************************************************
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !) To: r-help-request at
stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._