Just don't. E.g. https://stackoverflow.com/questions/12598242/global-variables-in-packages-in-r
On June 22, 2021 1:47:56 AM PDT, Siddhanta Phuyal <siddhantaphuyal7...@gmail.com> wrote: > Hello, > >A few weeks ago, I submitted a package to CRAN. The automated system >rejected the package showing the following note: > >Found the following assignments to the global environment: > File 'EuclideanSD/R/EuclideanSD.R': > assign("nums", x, envir = globalenv()) > >Context of the problem: > >The package has a function that takes a vector from the user. The >vector is >used by the shiny app to produce the desired output. The sever and UI >functions are located inside the 'inst' folder. Since they are located >at a >different location, the server function cannot directly access the >vector >received by the function from the user. Hence, the package creates a >global >variable to store the data which can also be used by the server >function. > >The solution I offered: > >However, before assigning the variable to a global environment, the >function checks whether there is a variable with the same name in the >global environment. If there is such a variable, then the function >restores >that variable back to its original state by using on.exit(num<-oldnum) >prior to exiting the function. On the contrary, if such a variable does >not >exist, then the variable assigned to the global environment is removed >on >exit. I have included the code to clarify my argument. Please see below >for >the code: > >if (exists("nums",where = 1)){ > oldnums <- nums > nums <- x > shiny::runApp(system.file(package="EuclideanSD","app")) > on.exit(nums<-oldnums) > > }else{ > assign("nums",x,envir = globalenv()) > shiny::runApp(system.file(package="EuclideanSD","app")) > on.exit(remove("nums",pos=1)) > } > >I tried to explain the same to the maintainers of CRAN by replying to >the >message that I got from the CRAN. However, there was no response. > >I have two questions that I hope to get help from this community: > >1) Is my solution reasonably okay with the requirements of the CRAN? >2) If the solution is not okay, what could be the better solution? >However, >the features of the package cannot be changed. For example, the data >has to >be fed through the function and not through the website. > >Thank you for your help. > >Looking forward to hearing from you. > >Best Regards, >Siddhanta Phuyal > > [[alternative HTML version deleted]] > >______________________________________________ >R-package-devel@r-project.org mailing list >https://stat.ethz.ch/mailman/listinfo/r-package-devel -- Sent from my phone. Please excuse my brevity. ______________________________________________ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel