vikrant wrote:
> 
>  
> my<-function(servername,dbname,dbtable){
> ...
>       final_set <- NULL
>       for(b_val in unique_b_vals)     
>       {
>               temp1 = subset(init_data,init_data[,3] == b_val,)
>               temp1 = temp1[sample(dim(temp1)[1], 200),]
>               if (is.null(final_set))
>               {
>                       final_set <<- temp1
>               }
>               else 
>                       final_set <<- rbind(final_set,temp1)
>               
>       }
> }
> 
> When I am doing this directly from the command line and not through this
> function the for loop runs well and gives me the sample data. But when I
> try to put this in a function the loop is failing and does not contain any
> data.I debugged the code init_data contains data but final_set does not
> contain any data. 
> 

Remove all <<-, these are harmful for your health and should be used by
trained neurosurgeons only. Add

final_set 

(think of "return(final_set)")

as the last line of your function, and use the function return in your
calling part.

As an aside: Avoid "select *", use select (primary key) where ... is not
null instead, and do the sampling on the primary keys.

Dieter






-- 
View this message in context: 
http://n4.nabble.com/Problems-with-looping-in-R-tp1475550p1475596.html
Sent from the R help mailing list archive at Nabble.com.

______________________________________________
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