[R-pkg-devel] Assigning a variable to global environment
Ben Bolker
bbo|ker @end|ng |rom gm@||@com
Fri Dec 11 19:57:09 CET 2020
I think this solution will *not* be acceptable to CRAN. (The policy
doesn't say "don't modify the global workspace unless you're careful",
it says "don't modify the global workspace".) You can ask for an
exception, but your chances of success are very low.
It would be best to find a way to solve your problem without
assigning to the global workspace. Can you assign to an environment
that is contained within your package, which all of the functions in
your package will also have access to?
cheers
Ben Bolker
On 12/11/20 1:52 PM, Tiago Olivoto wrote:
> Thank Matt for your response.
> Would be an acceptable solution to check if the variable exists first and
> creating the new variable with a suffix? Please, see the following example
>
> var_name <- "name"
> var_name <- ifelse(exists(var_name),
> paste(var_name, "_vct", sep = ""),
> var_name)
> and then
>
> assign(var_name, 1, envir = .GlobalEnv)
>
> Cheers,
> Tiago
>
> Em sex., 11 de dez. de 2020 às 15:20, Matt Denwood <md using sund.ku.dk> escreveu:
>
>>
>>> On 11 Dec 2020, at 18:32, Tiago Olivoto <tiagoolivoto using gmail.com> wrote:
>>>
>>> Hi everyone,
>>> This can be a very simple question, but I really have the following
>> doubt.
>>>
>>> CRAN Policies says that 'Packages should not modify the global
>> environment
>>> (user’s workspace)'. So, may I or may I not create a function that will
>>> call internally the following code? (a simple example)
>>>
>>> assign("name", 1, envir = .GlobalEnv)
>>
>> You may not - and for good reason, as the user may have an existing
>> variable called “name” that will be destroyed by such an action. If you
>> run "R CMD check —as-cran" on a package containing this code you will get a
>> warning (or maybe a note, I can’t remember), and the package would most
>> likely be refused if you tried to submit it to CRAN.
>>
>> Cheers,
>>
>> Matt
>>
>>
>>>
>>> Cheers
>>> Tiago
>>>
>>> [[alternative HTML version deleted]]
>>>
>>> ______________________________________________
>>> R-package-devel using r-project.org mailing list
>>>
>> https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstat.ethz.ch%2Fmailman%2Flistinfo%2Fr-package-devel&data=04%7C01%7Cmd%40sund.ku.dk%7C42392098d3324de389b008d89dfad39d%7Ca3927f91cda14696af898c9f1ceffa91%7C0%7C0%7C637433048371869663%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C2000&sdata=NFTbsJDlZNQWajN%2F%2BeftuclrkJSGtTnM9kEtobn9VLs%3D&reserved=0
>>
>>
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-package-devel using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-package-devel
>
More information about the R-package-devel
mailing list