Thank you Deepayan,

I understand the behavior of not printing out the results inside the  
functions.

What I didn't know was that for xyplot() saving the plot actually  
meant "save the result I see", which does not happen with plot(), in  
which case my function test() works just fine if I replaced xyplot()  
by plot().

Thank you very much,

b

On Jun 16, 2007, at 12:26 AM, [EMAIL PROTECTED] wrote:

> On 6/15/07, Benilton Carvalho <[EMAIL PROTECTED]> wrote:
>> So, if those statements are inside a function, I have to make my
>> function to have an 'echo' argument/functionality? eg.:
>>
>> ## begin test.R
>> test <- function(n){
>>    y <- rnorm(n)
>>    x <- rnorm(n)
>>    z <- sample(letters[1:4], n, rep=T)
>>    library(lattice)
>>    bitmap("tst.png")
>>    xyplot(y~x|z)
>>    dev.off()
>> }
>>
>> test(100)
>> ## end test.R
>>
>> source("test.R", echo=T)
>>
>> also fails in this case...
>
> Yes. The following will produce some output (the values of x + y and x
> - y) if you type it out at the R prompt:
>
> x <- rnorm(10)
> y <- rnorm(10)
> x + y
> x - y
>
> If you put that in a file and source it, nothing will get printed,
> unless you have echo=TRUE. If you define
>
> test <- function(){
>    x <- rnorm(10)
>    y <- rnorm(10)
>    x + y
>    x - y
> }
>
> calling test() at the R prompt will only print x - y and not x + y,  
> and so on.
>
> This is all standard R behaviour. If you want something to be printed
> irrespective of context, use print(), e.g.
>
> print(x + y)
>
> or
>
> print(xyplot(y~x|z))
>
> This is also mentioned in the R FAQ.
>
> -Deepayan

______________________________________________
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
and provide commented, minimal, self-contained, reproducible code.

Reply via email to