Dear Peter and Henrik,
What the Rcmdr does may be overkill for Henrik's application, since it also
intercepts error and warning messages, and tries to take the behaviour of
the R console. The relevant functions are in the file Commander.R in the
source package; the principal one is:
doItAndPrint - function(command, log=TRUE) {
messages.connection - textConnection(.messages, open=w)
sink(messages.connection, type=message)
output.connection - textConnection(.Output, open=w)
sink(output.connection, type=output)
on.exit({
sink(type=message)
if (!.console.output) sink(type=output) # if .console.output,
output connection already closed
close(messages.connection)
close(output.connection)
})
if (log) logger(command)
result - try(eval(parse(text=command), envir=.GlobalEnv), silent=TRUE)
if (class(result)[1] == try-error){
tkmessageBox(message=paste(Error:,
strsplit(result, :)[[1]][2]), icon=error)
if (.console.output) sink(type=output)
tkfocus(.commander)
return()
}
if (isS4object(result)) show(result) else print(result)
if (.Output[length(.Output)] == NULL) .Output -
.Output[-length(.Output)] # suppress NULL line at end of output
if (length(.Output) != 0) { # is there output to print?
if (.console.output) {
out - .Output
sink(type=output)
for (line in out) cat(paste(line, \n, sep=))
}
else{
for (line in .Output) tkinsert(.output, end, paste(line, \n,
sep=))
tkyview.moveto(.output, 1)
}
}
else if (.console.output) sink(type=output)
checkWarnings(.messages) # errors already intercepted, display any
warnings
result
}
Regards,
John
John Fox
Department of Sociology
McMaster University
Hamilton, Ontario
Canada L8S 4M4
905-525-9140x23604
http://socserv.mcmaster.ca/jfox
-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Peter Dalgaard
Sent: Friday, February 04, 2005 5:21 AM
To: Henrik Andersson
Cc: r-help@stat.math.ethz.ch
Subject: Re: [R] Output from function to a tcltk window
Henrik Andersson [EMAIL PROTECTED] writes:
I would like to display output to a tcltk window from e.g.
a call to
summary().
I tried to get something else than oneliners into a text
window of the
kind found at:
http://bioinf.wehi.edu.au/~wettenhall/RTclTkExamples/TextWindows.html
But without success.
(Rcmdr must be doing this sort of thing already?)
I'd try this:
1) str - paste(capture.output(summary(myfit),collapse=\n))
2) clone the tkfaq demo (or one of James W.'s examples), but replace
the line
tkinsert(txt, end, tkcmd(read, chn))
with
tkinsert(txt, end, str)
--
O__ Peter Dalgaard Blegdamsvej 3
c/ /'_ --- Dept. of Biostatistics 2200 Cph. N
(*) \(*) -- University of Copenhagen Denmark Ph:
(+45) 35327918
~~ - ([EMAIL PROTECTED]) FAX:
(+45) 35327907
__
R-help@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
__
R-help@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