[R] outer
Sean Carmody
sean at categoricalsolutions.com.au
Thu May 10 09:21:45 CEST 2001
I've just begun playing around with defining functions in R and
I'm not really sure what's going on in the following situation.
I've defined the following function:
gcd <- function(x,y) {
x <- as.integer(x); y <- as.integer(y)
q <- as.integer(x / y)
r <- x - q * y
if (r==0) y else gcd(y,r)
}
As expected, it gives the following results:
> gcd(3,2)
[1] 1
> gcd(2,4)
[1] 2
etc. However, the function behaves strangely with outer:
> outer(1:5,1:5,gcd)
[,1] [,2] [,3] [,4] [,5]
[1,] 1 2 3 4 5
[2,] 1 2 3 4 5
[3,] 1 2 3 4 5
[4,] 1 2 3 4 5
[5,] 1 2 3 4 5
If i change the second line of the definition of gcd to
y <- as.integer(x); x <- as.integer(y)
then the effect of gcd should not change, and the following
results still hold:
> gcd(3,2)
[1] 1
> gcd(2,4)
[1] 2
however, now outer gives a different result:
> outer(1:5,1:5,gcd)
[,1] [,2] [,3] [,4] [,5]
[1,] 1 1 1 1 1
[2,] 2 2 2 2 2
[3,] 3 3 3 3 3
[4,] 4 4 4 4 4
[5,] 5 5 5 5 5
Somehow something strange seems to be happening to the
internal variable r when outer is used, but I'm not sure what
or why. Any thoughts would be appreciated.
Sean.
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !) To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
More information about the R-help
mailing list