<html>
<head>
</head>
<body>
hello,<br>
i would like program userfriendly tcl/tk widgets like<br>
the t-test example in &nbsp;a more complex way !<br>
<br>
(1) Is it not possible to combine tk_getOpenFile with<br>
the R function read.table &nbsp;to select in userfriendly way data sets ?<br>
(I'm newbie and take code-parts from t-test example and scripting example.)<br>
<br>
(2) Is it possible to use a variableSelection widget<br>
to select a special variable which &nbsp;i can use to&nbsp; replace in R commands like:
<br>
rpart( selectedVar ~.,data) ?<br>
<br>
(3) What occur the difference run tcl/tk code<br>
in R-Winedt , i get&nbsp; the results only&nbsp; when i use paste !<br>
<br>
<small>$ source("D:/Statsoft/rw1041/code/TCL-TK.R")</small><small><br>
</small><small>******************************************************</small><small><br>
</small><small>&nbsp;The source for this demo can be found in the file:</small><small><br>
</small><small>&nbsp;D:/Statsoft/rw1041/library/tcltk/demo/tkttest.R </small><small><br>
</small><small>******************************************************</small><small><br>
</small><small>### Command executed via Tk ###</small><small><br>
</small><small>t.test(Ozone[Month == 5], Ozone[Month == 8], alternative =
"two.sided", </small><small><br>
</small><small>&nbsp;&nbsp;&nbsp; var.equal = FALSE)</small><small><br>
</small><small>### -----</small><small><br>
</small><small>...what is happen here ?<br>
<br>
</small>Thanks for advance and suggestions<br>
regards Christian Schulz<br>
<font size="-1"><br>
<br>
tktree &lt;- function() {<br>
wfile &lt;- ""<br>
tt &lt;- tktoplevel()<br>
tktitle(tt) &lt;- "Tcl/TK Decision Tree Window "<br>
yvar &lt;- "EKV"<br>
y.entry &lt;- tkentry(tt,textvariable=yvar)<br>
submit.but &lt;- tkbutton(tt, text="submit",command=function()tclvalue(done)&lt;-1)<br>
done &lt;- tclVar(0)<br>
tkpack(y.entry)<br>
topMenu &lt;- tkmenu(tt)<br>
tkconfigure(tt,menu=topMenu)<br>
fileMenu &lt;- tkmenu(topMenu,tearoff=FALSE)<br>
<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; load &lt;- function() {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; file &lt;- tkcmd("tk_getOpenFile")<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!length(file)) return()<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; chn &lt;- tkcmd("open", file, "r")<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #tkinsert(txt,"0.0",tkcmd("read",chn))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; chn &lt;- read.table(file,na.strings="?",headers=TRUE)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tkcmd("close",chn)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; wfile &lt;&lt;- file<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit &lt;- function() {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tkdestroy(tt)}<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; build &lt;- function()<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; y&nbsp; &lt;- parse(text=tclvalue(yvar))[[1]]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; substitute(rpart(yvar ~.,data=file))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tkadd(fileMenu,"command",label="Load",command=load)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #tkadd(fileMenu,"command",label="Save",command=save)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tkadd(fileMenu,"command",label="Exit",command=exit)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tkadd(topMenu,"cascade",label="File",menu=fileMenu)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #tkadd(topMenu,"command",label="Run",command=run)<br>
<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tkgrid(tklabel(tt,text="Recursive Partioning"),columnspan=1)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tkgrid(tklabel(tt,text="y variable"), y.entry)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tkgrid(submit.but)<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ## capture destroy (e.g. from window controls<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ## otherwise the tkwait hangs with nowhere to go<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tkbind(tt, "&lt;Destroy&gt;", function()tclvalue(done)&lt;-2)<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tkwait.variable(done)<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(tclvalue(done)=="2") stop("aborted")<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tkdestroy(tt)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cmd &lt;- build()<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cat("### Command executed via Tk ###\n")<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cat(deparse(build()),sep="\n")<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cat("### -----\n")<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eval.parent(cmd)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br>
&nbsp;&nbsp;&nbsp; }</font>
</body>
</html>