deggle wrote:> Hello,
>
> I'm very new in working with tcl/tk in R and have a problem which will
> probably
> sound silly to most of you.
> Here is the code I have problems with:
>
> readcelfiles <- function()
> {
> require(tcltk)
> tt <- tktoplevel()
> tkgrid(tklabel(tt,text="Choose a directory!"))
>
> OnOK <- function()
> {
> fileDir<-tclvalue(tkchooseDirectory())
> data.raw <- ReadAffy(celfile.path=fileDir)
> #return(data.raw)
> }
>
> OK.but <- tkbutton(tt,text="OK",command=OnOK)
> tkgrid(OK.but)
> tkfocus(tt)
> }
>
> So after clicking on my "OK" button, I choose my directory and
read the
> cel-files.
> But now I want to return the object to my workspace ... "return"
doesn't
> work here.
I suppose you mean in the User Workspace. Your OnOK function should look
like that:
OnOK <- function() {
fileDir<-tclvalue(tkchooseDirectory())
data.raw <<- ReadAffy(celfile.path=fileDir)
}
Note that the function overwrites any existing 'data.raw', so this could
be dangerous. Writting directly in the User Workspace is not advised
from inside a function, but here, it is the simplest way to return a
result from a tk widget action.
Best
Philippe Grosjean
> Could anyone give me a hint?
>
> Thank you very much,
> Daniela
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide!
http://www.R-project.org/posting-guide.html
>
>