# [R] outer() function

Thomas Lumley tlumley at u.washington.edu
Thu Mar 23 22:38:34 CET 2006

```On Thu, 23 Mar 2006, Kyle LaMalfa wrote:

> 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?
>

It's a FAQ (7.17).

-thomas

> Below is my simplified R program.  Further down is the output.
>
> 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
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help