[R] Beginners problem
Peter Dalgaard
p.dalgaard at biostat.ku.dk
Mon Oct 4 17:50:31 CEST 2004
Rolf Wester <rolf.wester at ilt.fraunhofer.de> writes:
> Hi,
>
> I'm new to R and have a problem with a little test program (see
> below). Why doesn't <<- in function rk4
> assign the new value to y so that it is seen in rktest. I thought that
> <<- does exactly this. But it seems that I
> didn't get it right. I would be very appreciative for an explanation
> of that behaviour of <<-. I know how to
> write the whole thing so that it works (return the updated y to
> rktest) but I would like to learn how variable scope
> in R works.
R has lexical scope and rk4() is not lexically scoped in rktest(). I
believe that there's a rather thorough discussion of these matters in
the FAQ.
> rk4 <- function(x,y,f,h) {
....
> y <<- y + h/6.0*(k1 + 2.0*k2 + 2.0*k3 + k4))
> }
>
> rkf <- function(x,y) {
> -y
> }
>
> rktest <- function(){
> y <- 1.0
> x <- 0.0
> h <- 0.1
> for(i in 1:10) {
> rk4(x,y,rkf,h)
> print(y)
> }
> }
>
> rktest()
--
O__ ---- Peter Dalgaard Blegdamsvej 3
c/ /'_ --- Dept. of Biostatistics 2200 Cph. N
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907
More information about the R-help
mailing list