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.

Reply via email to