[R] return from .Call()
Barry Rowlingson
b.rowlingson at lancaster.ac.uk
Sat Sep 4 14:55:00 CEST 2010
On Sat, Sep 4, 2010 at 10:17 AM, rajeshj at cse.iitm.ac.in
<rajeshj at cse.iitm.ac.in> wrote:
>
> Hi,
>
> I have a .Call in my R function in a loop that repeats a certain number of times. Each time, the .Call returns a list. So, when I say something like,
>
> y<-func()
>
> would y be a list of lists?(as many as the number of loops?)
No, it'll be the last thing evaluated or the result of a return()
call. Why haven't you tried this?
Try a simple example:
func = function(){
for(i in 1:10){
z=list(a=1,b=2)
}
}
and see what comes back. My suspicion is its not going to be a list of lists.
If you want a list of lists then you'll have to put the list together
yourself from the returns of the .Call, something like (not tested,
but looks okay):
func = function(){
ret=list()
for(i in 1:10){
ret[[i]]=list(i,i*2,i*3)
}
return(ret)
}
Barry
More information about the R-help
mailing list