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 <m...@sund.ku.dk> escreveu:


On 11 Dec 2020, at 18:32, Tiago Olivoto <tiagooliv...@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@r-project.org mailing list

https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstat.ethz.ch%2Fmailman%2Flistinfo%2Fr-package-devel&amp;data=04%7C01%7Cmd%40sund.ku.dk%7C42392098d3324de389b008d89dfad39d%7Ca3927f91cda14696af898c9f1ceffa91%7C0%7C0%7C637433048371869663%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C2000&amp;sdata=NFTbsJDlZNQWajN%2F%2BeftuclrkJSGtTnM9kEtobn9VLs%3D&amp;reserved=0



        [[alternative HTML version deleted]]

______________________________________________
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel


______________________________________________
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel

Reply via email to