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]]
______________________________________________
[email protected] 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.