[R] outer() function

Kyle LaMalfa kylelamalfa at gmail.com
Thu Mar 23 21:56:59 CET 2006


Greetings R-help community,

I am relatively new to R, which may be why I am having trouble
understanding this problem.  I am trying to use outer() to generate a
graphable surface of a function.  If there is a better way to do this,
I would appreciate the insight.  Otherwise, could someone suggest a
method to get the outer() function to work here?

Below is my simplified R program.  Further down is the output.

Thanks in advance,
Kyle

###################

	data <- c(0, 1, 2, 3)
	x <- c(0,2,4)
	y <- c(0,1,2)

	f <- function(x, y) sum(data*x)+y
	f(0,0); f(2,0); f(4,0);
	f(0,1); f(2,1); f(4,1);
	f(0,2); f(2,2); f(4,2);
	outer(x, y, f)

	f <- function(x, y) x-x+y-y+force(sum(data^x))
	outer(x, y, f)

##################################

> data <- c(0, 1, 2, 3)
> x <- c(0,2,4)
> y <- c(0,1,2)
>
> f <- function(x, y) sum(data*x)+y
> f(0,0); f(2,0); f(4,0);
[1] 0
[1] 12
[1] 24
> f(0,1); f(2,1); f(4,1);
[1] 1
[1] 13
[1] 25
> f(0,2); f(2,2); f(4,2);
[1] 2
[1] 14
[1] 26
> outer(x, y, f)
     [,1] [,2] [,3]
[1,]   20   21   22
[2,]   20   21   22
[3,]   20   21   22
Warning message:
longer object length
        is not a multiple of shorter object length in: data * x




More information about the R-help mailing list