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.