I do use this function. Here is the example session, run from the newly created directory, without .Rdata and .Rhistory files.
=== begin R version 2.5.0 Patched (2007-05-13 r41549) Copyright (C) 2007 The R Foundation for Statistical Computing ISBN 3-900051-07-0 R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > library(ac9) > AB2C(matrix(rnorm(90),ncol=9),matrix(rnorm(90),ncol=9)) Error in AB2C(matrix(rnorm(90), ncol = 9), matrix(rnorm(90), ncol = 9)) : object "ac9nw" not found > options(error=recover) > AB2C(matrix(rnorm(90),ncol=9),matrix(rnorm(90),ncol=9)) Error in AB2C(matrix(rnorm(90), ncol = 9), matrix(rnorm(90), ncol = 9)) : object "ac9nw" not found Enter a frame number, or 0 to exit 1: AB2C(matrix(rnorm(90), ncol = 9), matrix(rnorm(90), ncol = 9)) Selection: 1 Called from: eval(expr, envir, enclos) Browse[1]> ls() [1] "a" "b" "model.type" "nwa" "nwb" [6] "nza" "nzb" Browse[1]> search() [1] ".GlobalEnv" "package:ac9" "package:stats" [4] "package:graphics" "package:grDevices" "package:utils" [7] "package:datasets" "package:methods" "Autoloads" [10] "package:base" Browse[1]> n Enter a frame number, or 0 to exit 1: AB2C(matrix(rnorm(90), ncol = 9), matrix(rnorm(90), ncol = 9)) Selection: 1 Browse[1]> n Enter a frame number, or 0 to exit 1: AB2C(matrix(rnorm(90), ncol = 9), matrix(rnorm(90), ncol = 9)) Selection: 0 === Pause of the session, don't quit from R. The function AB2C tries to work, if I use the data function. But this data function makes the ac9nw visible in the global environment. === Continuing the sample session: > data(ac9nw) > ls() [1] "ac9nw" > ac9nw [1] 9 > AB2C(matrix(rnorm(90),ncol=9),matrix(rnorm(90),ncol=9)) Error in eval(expr, envir, enclos) : object "Pro" not found Enter a frame number, or 0 to exit 1: AB2C(matrix(rnorm(90), ncol = 9), matrix(rnorm(90), ncol = 9)) 2: NextMethod("AB2C") 3: AB2C.S(matrix(rnorm(90), ncol = 9), matrix(rnorm(90), ncol = 9)) 4: lm(t(cbind(a, b)) ~ Pro + syn + unk + Y + Nh + 0, offset = c(ac9aw, ac9bw)) 5: eval(mf, parent.frame()) 6: eval(expr, envir, enclos) 7: model.frame(formula = t(cbind(a, b)) ~ Pro + syn + unk + Y + Nh + 0, offset = c(ac9a 8: model.frame.default(formula = t(cbind(a, b)) ~ Pro + syn + unk + Y + Nh + 0, offset 9: eval(predvars, data, env) 10: eval(expr, envir, enclos) Selection: 0 The function AB2C now sees ac9nw, and gives similar errors, related to other hidden variables. Duncan Murdoch-2 wrote: > > On 5/25/2007 7:27 AM, Vladimir Eremeev wrote: >> Thank you for the answer. >> >> Here is everything. >> >> ac9wl<-c(412,440,488,510,532,555,650,676,715) >> ac9nw<-length(ac9wl) >> >> AB2C <-function(a,b,model.type="S") { >> nza<-dim(a)[1] >> nwa<-dim(a)[2] >> nzb<-dim(b)[1] >> nwb<-dim(b)[2] >> >> if(nza!=nzb || nwa!=ac9nw || nwb!=ac9nw) { >> warning('AB2C: Dimensions of the input matrices are invalid') >> return(NULL); >> } >> >> [ further calculations, they do not use ac9nw ] >> } > > > That would work, so my guess is that you aren't using that function. If > you have a function named AB2C in your global environment, R will find > it before this one, and it may not be able to see the ac9nw variable. > > Duncan Murdoch > > -- View this message in context: http://www.nabble.com/private-variables-in-package.-tf3815306.html#a10801823 Sent from the R devel mailing list archive at Nabble.com. ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel