[Rd] solved.

Vladimir Eremeev wl2776 at gmail.com
Fri May 25 14:46:34 CEST 2007


By removing the data directory (which package.skeleton has created, and where
it has put all my variables in files with .rda extension) and adding one
more file to the R directory, containing the variable assignments.


Vladimir Eremeev wrote:
> 
> 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#a10802257
Sent from the R devel mailing list archive at Nabble.com.



More information about the R-devel mailing list