Dear R Experts,
This is my R function. 

 
my<-function(servername,dbname,dbtable){
        library(RODBC)
        channel<- odbcDriverConnect(paste("driver=SQL 
Server;server=",servername))
        init_data<- sqlQuery(channel,paste("select * from",dbname,"..",dbtable))
        init_data <- subset(init_data,!is.null(init_data[,1]),)
        print(dim(init_data))
        unique_b_vals = unique(init_data[,3])
        print(unique_b_vals)
        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)
                
        }
}

Here What I am doing is connecting to MS sql Server through R and extracting 
the data and init_data contains all my data matrix. After getting all the
data in init_data I want to randomly select data of size say 200. 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. 
The appending is not working when i put this in a function but the same code
works fine without a function
Any solution for this? Please Help
-- 
View this message in context: 
http://n4.nabble.com/Problems-with-looping-in-R-tp1475550p1475550.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