Hi
r-help-boun...@r-project.org napsal dne 19.02.2010 19:06:52:
>
> Thank you for response. The problem is that using return(y1) in my
function
> formula always returns y1, but what I want is to return it only when I
wish,
> like p.value in
> t.test(rnorm(100),rnorm(100))$p.value
Put results
Try
f <- function(nbr){
y<-rnorm(nbr)
y1 <- mean(y)
plot(y)
invisible( y1)
}
That will return y1 invisibly, so
f(100)
plots but returns nothing visible but
w<-f(100)
plots and places the return value in w
>>> Dennis Murphy 02/19/10 9:33 PM >>>
Hi:
Perhaps you want this:
f <-
Hi:
Perhaps you want this:
f <- function(nbr){
y<-rnorm(nbr)
y1 <- mean(y)
plot(y)
list(y1 = y1)
}
f(100) prints out the mean and executes the plot
w <- f(100) executes the plot
> w$y1
[1] 0.06965205
returns the mean as a component of the object w.
HTH,
Dennis
On Fri, Feb 19,
Try this:
nbr <- 30
lapply(body(x), eval)[[grep("y1", body(x))]]
On Fri, Feb 19, 2010 at 3:39 PM, threshold wrote:
>
> Hi, say I got the function:
>> x=function(nbr){y<-rnorm(nbr);y1 <- mean(y);plot(y)}
>
> how can I retrieve value of y1, when I need it.
>
> I don't want:
>> x=function(nbr){y<-r
Thank you for response. The problem is that using return(y1) in my function
formula always returns y1, but what I want is to return it only when I wish,
like p.value in
t.test(rnorm(100),rnorm(100))$p.value
robert
--
View this message in context:
http://n4.nabble.com/retrieve-from-function-tp15
Hi Robert,
You need to modify your function to return a value. Something like
x <- function(nbr){
y<-rnorm(nbr)
y1 <- mean(y)
plot(y)
return(y1)
}
-Ista
__
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
P
__
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.
Hi, say I got the function:
> x=function(nbr){y<-rnorm(nbr);y1 <- mean(y);plot(y)}
how can I retrieve value of y1, when I need it.
I don't want:
> x=function(nbr){y<-rnorm(nbr);y1 <<- mean(y);plot(y)}
> y1
I want someting like:
"x$y1" and then I get the value
Many thanks, robert
--
View
8 matches
Mail list logo