[R] Problem with global variable building a package

Uwe Ligges ligges at statistik.tu-dortmund.de
Wed Aug 8 11:24:44 CEST 2012



On 08.08.2012 08:53, Eva Prieto Castro wrote:
> Hello, Greg:
>
> That is one of the solutions I have tried; the problem is that I can't obtain a package in this way, because an glo-internal.R file is generated (glo is the name of the package) and when I try to create the package an error message appears (a parse error).
>
> The content of the glo-internal.R file is the following:
>
> .glo.env <-
> <environment>


To avoid parser errors, replace  <environment> by something that is 
syntactically valid, in this case: new.env().

Best,
Uwe Ligges


>
> where .glo.env is the name of the new environment I create in my source code.
>
> What am I doing wrong?.
>
> Thanks again for your help.
>
> Regards.
>
> Eva
>
> --- El mar, 7/8/12, Greg Snow <538280 at gmail.com> escribió:
>
> De: Greg Snow <538280 at gmail.com>
> Asunto: Re: [R] Problem with global variable building a package
> Para: "Eva Prieto Castro" <evapcastro at yahoo.es>
> CC: R-help at r-project.org
> Fecha: martes, 7 de agosto, 2012 23:30
>
> Probably the best thing to do is create an environment within the
> package that you can assign to and read from.
>
> Somewhere in the source code for the package include a line like:
>
> my.env <- new.env()
>
> then within any functions defined after that line you can set
> variables within the environment with code like:
>
> Â  my.env$paramA <- 3
>
> and other functions can then read my.env$paramA.  This way you don't
> need to worry about assign or <<- and all your functions will have
> access to the same set of variables (but they won't interfere with the
> users workspace).
>
> On Tue, Aug 7, 2012 at 1:09 AM, Eva Prieto Castro <evapcastro at yahoo.es> wrote:
>>
>>
>> Hi,
>>
>>
>>
>> My name is
>> Eva and this is my first message here. My English is not very good, but I hope
>> you can understand my question, in the context of an academic project.
>>
>>
>>
>> I have
>> developed several functions in R and the
>> idea is that the user can access functions in order to:
>>
>>
>>
>> 1)
>> Alter
>> parameters in relation with data and type of analysis.
>>
>> 2)
>> Run
>> statistical analysis (Text and pdf files with results will be generated).
>>
>> 3)
>> View
>> the value of the most important parameters.
>>
>>
>>
>> All the
>> parameters I need are stored in a list object, and this list is used in all the
>> functions along the cycle performed by the user, but I would like the user does
>> not need to pass the name of the list as argument when he/she runs the different
>> functions, so I think I need to treat the list as a global variable.
>>
>>
>>
>> Firstly, I
>> used the global assignment operator (“<<-“); secondly, I used “get” and “assign”
>> functions and even I used a new.env() in order to use a new environment
>> exclusively for my list. However, when I try to build a package with all my
>> functions I don’t reach this end, because of an error in parse process.
>>
>>
>>
>> My question
>> for you is the following: taking into account that my end is to build a
>> package, what can I do with this “global” list?. How can I treat it?.
>>
>>
>>
>> Thanks in
>> advance.
>>
>>
>>
>> Regards,
>>
>> Eva
>>
>>
>>
>>
>> Â  Â  Â  Â Â Â [[alternative HTML version deleted]]
>>
>>
>> ______________________________________________
>> R-help at 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.
>>
>
>
>
>
>
> ______________________________________________
> R-help at 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.
>



More information about the R-help mailing list