[R] Problems with looping in R
Dieter Menne
dieter.menne at menne-biomed.de
Wed Feb 10 11:39:05 CET 2010
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.
More information about the R-help
mailing list