Create an empty list called "result" before you run the loop. Then
store
the results of the loop in the list. For example:
result <- vector(mode="list", length=1000)
for(i in 1:1000){
result[[i]] <- try(harvest(i))
}
Jean
mdvaan <mathijsdevaan@gmail.com> wrote on 11/27/2012 12:09:38
AM:>
> Hi,
>
> I have written a function "harvest" and I would like to run the
function
for> each value in a vector c(1:1000). The function returns 4 list objects
> (obj_1, obj_3, obj_3, obj_4) using the following code at the end of the
> function: return(list(obj_1 = obj_1, obj_2 = obj_2, obj_3 = obj_3, obj_4
> obj_4)).
>
> Since I am connecting with the web in the function and the connection
> sometimes fails causing errors to occur, I invoke the function as
follows:>
> for(i in 1:1000){
> result <- try(harvest(i));
> if(class(result) == "try-error") next;
> }
>
> Everything works well accept for the fact that "result" only
stores
obj_1, > obj_2, obj_3, obj_4 for the last i in the loop. How do I store obj_1,
> obj_2, obj_3, obj_4 for the first i in the first 4 elements of result,
the> objects for the second i in the next 4 elements, etc?
>
> Thank you very much.
[[alternative HTML version deleted]]