In my main R program, I have source("retaanalysis/Functions/doAirport.R") .... stuff to read data and calculate ads sapply(ads, function(x) {doAirport(x, base)} )
And doAirport has # analyze the flights for a given airport doAirport = function(df, base) { # Get rid of unused runway factor levels (from other airports) df$lrw <- drop.levels(df$lrw) # In gdata package # Drop messages from after the landing time df = df[df$PredTime >= 0.0,] airport = as.character(df[1,"Dest"]) #print it out airport date = strptime(df[1,"on"], format="%Y-%m-%d") rwys = factor(unique(df$lrw), ordered=TRUE) # Get the names of the runways rwys = as.vector(rwys) nrwys = length(rwys) # Make a data frame with the correct index for the runway rdf = data.frame(lrw=rwys, rwyidx=seq(1:nrwys)) df = merge(df, rdf, all.x=TRUE) #colours <- c(RF = "brown", AF =383, PH="red",PF = "black", #BA = "green", FI = "blue", FF = 56, PS = "magenta", TC=94) colours <- c("0"="red","1"="black", "2"="green", "3"="blue","4"="magenta","5"="orange") shapes <- c(RF = "R", AF = "f", PH="H", PF = "P", BA = "B", FI = "I", FF = "F", PS = "S", TC="T") #Plot individual flight data dfm = df dfm = dfm[!df$MsgType=="AS",] # Eliminate AS messages dfm$MsgType=drop.levels(dfm$MsgType) dfm = dfm[as.numeric(dfm$PredTime) < 60.0,] dfm$tc= as.factor(floor(dfm$PredTime/10.0)) # get 10-minute bin dfm$flightfact = drop.levels(dfm$flightfact) row.names(dfm) = seq(1:dim(dfm)[1]) #Find max and min error for each flight library(zoo) maxes = tapply(dfm$dt,dfm$flightfact,FUN=max) # Returns a list mins = tapply(dfm$dt,dfm$flightfact,FUN=min) mdf = data.frame(flight=index(maxes), maxes=as.numeric(maxes), mins=as.numeric(mins)) # Add a column for colors mdf$clr = as.factor((mdf$flight - 1) %% 5) mc = c("red","cyan","green","blue","magenta","black") # Plot these outfile = paste(base, airport, "/", airport, "ErrorRange", date, ".pdf", sep="") pdf(file=outfile, width=14, height=7, par(lwd=.5)) # Get only ones that span 0 lblx = dim(mdf)[1]/2 .... } And if I manually set df = ads[[j]] doAirport runs OK. But when called from the main program, I always get > sapply(ads, function(x) {doAirport(df, base)} ) Error in eval(expr, envir, enclos) : object 'lblx' not found In addition: Warning message: 'mode(onefile)' differs between new and previous ==> NOT changing 'onefile' > sapply(ads, function(x) {doAirport(x, base)} ) Error in eval(expr, envir, enclos) : object 'lblx' not found In addition: Warning message: 'mode(onefile)' differs between new and previous ==> NOT changing 'onefile' What am I doing wrong? Thanks, Jim E-mail: jamesr...@gmail.com URL: http://jamesrome.net ______________________________________________ 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.