@ Duncan, I have already used the syntax that you proposed before asking for help by writing something like > read_ts<-function(n,m,img) { > out<-.Fortran("read_ts", > as.integer(n), > as.integer(m), > img=as.single(rnorm(n*m))) > return(out$img) > alpha<-read_ts(n,m) > dim(alpha)<-c(n*m) > alpha<-t(alpha) My worry with this syntax is that (i) the program is not very efficient because n and m are very big and these two additional instructions (dim(alpha)<-c(n*m and alpha<-t(alpha) can be skipped just by directly declaring img as an array in fortran instead of a vector and (ii) the syntax will become more complex dealing with a multidimensional array instead of a matrix as in this example. And this is why I'm looking for the correct instruction to declare img as an array instead of a vector.
Armel -----Original Message----- From: Duncan Murdoch [mailto:murdoch.dun...@gmail.com] Sent: Friday, June 28, 2013 8:16 AM To: David Winsemius Cc: Kaptue Tchuente, Armel; r-help@r-project.org Subject: Re: [R] How to create a function returning an array ? On 27/06/2013 11:38 PM, David Winsemius wrote: > On Jun 27, 2013, at 8:04 PM, Kaptue Tchuente, Armel wrote: > > > Hi there, > > > > I would like to know how to change the line > > "img=as.single(rnorm(m)))" such that instead of being a vector of > > length m as it is now, img is an array of dimension c=(n,m,o) for > > instance > > > > --------------------------------- > > read_ts<-function(n,m,o,img) { > > out<-.Fortran("read_ts", > > as.integer(n), > > as.integer(m), > > as.integer(o), > > img=as.single(rnorm(n))) > > return(out$img) > > ------------------------------------------ > > > > Well, assuming that the 'out$img' object has a R-length of n*m*o , wouldn't > if be simpler to just change the return call to: In fact, out$img has a length of n, same as on input. .Fortran won't change the length of its arguments. Duncan Murdoch > > return( array( out$img, dim=c(n,m,o) ) > > I don't think you wnat start naming your dimension vectors "c". > ______________________________________________ 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.