On Aug 6, 2009, at 12:24 PM, Erik Iverson wrote:
In my example, I don't want LSD.test to print any output, I just
want
to use some of it later... How to stop it printing anything?
?invisible
I'm not sure that works in this situation:
test <- function() {
print("output")
}
test()
invisible(test())
Both of the above still print out "output", which I think is the
original problem. The invisible function will not print the value of
a function, but if there is an explicit "print" call within the
function, that will of course happen, since the value hasn't been
returned at that point. However, we don't know the original problem
since LSD.test is not defined, and therefore the example is not
reproducible. I assume within the function, it is printing out some
values using "print" or "cat"? We just have to guess though.
Maybe the answer is in ?sink ??
Quite right. A search suggests that LSD.test is from package agricolae
and it does have several points at which cat() and print() would be
subverting my intent. So the answer would be to sink it "somewhere
that the sun does not shine" and then "unsink" or would that be
"resurface"?
With the example on the LSD.test help page:
> sink(file="undesired.txt")
> comparison <- invisible( LSD.test(yield,virus,df,MSerror,
p.adj="bonferroni", group=FALSE,
+ main="Yield of sweetpotato\ndealt with different virus") )
> sink()
> comparison
trt means M N std.err
1 cc 24.40000 3 2.084067
2 fc 12.86667 3 1.246774
3 ff 36.33333 3 4.233727
4 oo 36.90000 3 2.482606
Erik
David Winsemius, MD
Heritage Laboratories
West Hartford, CT
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.