I have the following procedure which worked just fine for in R 2.2.0. Recently I upgraded to 2.6.1 and now get an error: > ScatterOutlier(pass_500_506[1:1000,6:12], marginal_500_506[,6:12]) Error in eval(expr, envir, enclos) : object "out" not found Note that I use the same workspace (and hence data) as in 2.2.0. When I make sure that the object "out" exists at console level by executing out <- c(rep('norm', nrow(pass_500_506[1:1000,6:12])), rep('outliers', nrow(marginal_500_506[,6:12]))) the procedure seemingly works but spits out a few warnings: Warning messages: 1: In trellis.par.get("background")$col : $ operator is invalid for atomic vectors, returning NULL 2: In trellis.par.get("background")$col : $ operator is invalid for atomic vectors, returning NULL Any ideas? Have rules for scoping changed? Here is the full procedure: ScatterOutlier <- function(data, outliers, ...) { # splot of rbind(data, outliers) is perfomed; outliers are highlighted require(lattice) out <- c(rep('norm', nrow(data)), rep('outliers', nrow(outliers))) trellis.par.set(background='white') cols <- c('black', 'red') syms <- c('*', '*') splom(as.data.frame(rbind(data, outliers)), groups=out, col=cols, pch=syms, panel = panel.superpose, key = list(title = paste(deparse(substitute(data)), '; ', deparse(substitute(outliers)), sep=''), columns = 2, points = list(pch = syms, col = cols), text = list(c("norm", "outlier")))) } Thanks for your help! Kind regards Stefan -- _________________________________________________________________ Stefan Eichenberger Brammenfeld 13 D-47533 Kleve / Germany _________________________________________________________________ [[alternative HTML version deleted]]