Dear falks, here I have written following function :
 
fn <- Vectorize(function(x = 1:3, y = 3:6) {
        x <- matrix(x, nrow=1)
        y <- matrix(y, ncol=1)
        dat <- apply(x, 2, function(xx) {
                              apply(y, 1, function(yy) {
                                  return(xx + yy) } ) })
        return(dat)}, SIMPLIFY = TRUE)

If I run this function, I got some warning message, even format of the returned 
object is not correct, for example :
 
>  fn(x = 1:3, y = 3:7)
[1] 4 6 8 7 9
Warning message:
In mapply(FUN = function (x = 1:3, y = 3:6)  :
  longer argument not a multiple of length of shorter
 
However if I run individual line of codes like :
 
> x <- 1:3; y = 3:7
> x <- matrix(x, nrow=1)
>         y <- matrix(y, ncol=1)
>         dat <- apply(x, 2, function(xx) {
+                               apply(y, 1, function(yy) {
+                                   return(xx + yy) } ) })
> dat
     [,1] [,2] [,3]
[1,]    4    5    6
[2,]    5    6    7
[3,]    6    7    8
[4,]    7    8    9
[5,]    8    9   10

 
I get exactly what I want. Where I am making fault?
 
Thanks,


      
        [[alternative HTML version deleted]]

______________________________________________
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.

Reply via email to