Hi everybody I have a very big problem: With R 3.0.2 I could construct the package for this code: if (exists('.ChrL.env') == TRUE) { rm(.ChrL.env) } .ChrL.env <- new.env() .ChrL.env$lGlo <- list() .ChrL.env$bStarted <- FALSE CheckGloCreated <- function() { if (.ChrL.env$bStarted == TRUE) { stop("Data structures were already initialized.", call.=FALSE) } } ChrL.Start <- function() { CheckGloCreated() cat("Libraries have been loaded and data structure has been initialized.\n") } As you can do, I used an own environment (.ChrL.env). Now, with R 3.1.0, I construct the package and I load it but it seems .ChrL.env does not exists. The method I use is the following: rm(list=ls()) setwd("D:/probando") source("probando.r", encoding="utf-8") package.skeleton(name="ChrL", path="D:/probando") My Namespace: export(ChrL.Start) My ChrL-internal.R: .ChrL.env <- new.env() Could you help me, please?. It is very urgent... My project is more complex that the example I put, but I have tested with this simple example and the problem is the same. Thank you in advance. Regards, Eva [[alternative HTML version deleted]]
Eva Prieto Castro
2014-Jul-07 18:02 UTC
[R] [R-es] Consulta paquetización con versión R 3.1.0
Hi eveybody, I think the problem is with the package.skeleton function, because of the changes made in version 3.0.2. Since that version the management of environment parameter is different and I think it can justify the fact of package.skeleton is not considering my environment. I have not tested it yet. Regards. Eva 2014-07-07 10:21 GMT+02:00 Eva Prieto Castro <evapcastro@yahoo.es>:> Hi everybody > > I have a very big problem: > > With R 3.0.2 I could construct the package for this code: > > > if (exists('.ChrL.env') == TRUE) { > rm(.ChrL.env) > } > > .ChrL.env <- new.env() > .ChrL.env$lGlo <- list() > .ChrL.env$bStarted <- FALSE > > CheckGloCreated <- function() { > if (.ChrL.env$bStarted == TRUE) { > stop("Data structures were already initialized.", call.=FALSE) > } > } > ChrL.Start <- function() { > CheckGloCreated() > > cat("Libraries have been loaded and data structure has been > initialized.\n") > } > > > > As you can do, I used an own environment (.ChrL.env). > > > Now, with R 3.1.0, I construct the package and I load it but it seems > .ChrL.env does not exists. > > > The method I use is the following: > > > rm(list=ls()) > > setwd("D:/probando") > > source("probando.r", encoding="utf-8") > > package.skeleton(name="ChrL", path="D:/probando") > > > My Namespace: > > export(ChrL.Start) > > > My ChrL-internal.R: > > .ChrL.env <- new.env() > > > Could you help me, please?. It is very urgent... > > > My project is more complex that the example I put, but I have tested with > this simple example and the problem is the same. > > > Thank you in advance. > > > Regards, > > Eva > [[alternative HTML version deleted]] > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > >[[alternative HTML version deleted]]
Duncan Murdoch
2014-Jul-07 20:49 UTC
Re: [R-es] Consulta paquetización con versión R 3.1.0
On 07/07/2014, 2:02 PM, Eva Prieto Castro wrote:> Hi eveybody, > > I think the problem is with the package.skeleton function, because of the > changes made in version 3.0.2. Since that version the management of > environment parameter is different and I think it can justify the fact of > package.skeleton is not considering my environment. I have not tested it > yet.The package.skeleton() function is intended to be used once as a quick setup of a new package; you shouldn't be using it routinely. After the first quick setup, you should edit the source of the package to get what you want. A few more comments inline...> > Regards. > > Eva > > > 2014-07-07 10:21 GMT+02:00 Eva Prieto Castro <evapcastro@yahoo.es>: > >> Hi everybody >> >> I have a very big problem: >> >> With R 3.0.2 I could construct the package for this code: >> >> >> if (exists('.ChrL.env') == TRUE) { >> rm(.ChrL.env) >> }The code above doesn't make sense in a package: either you created the environment, or you didn't. That code will look through attached packages, and if one of them has a variable of that name, will try to remove it (but will likely fail to do so).>> >> .ChrL.env <- new.env() >> .ChrL.env$lGlo <- list() >> .ChrL.env$bStarted <- FALSE >> >> CheckGloCreated <- function() { >> if (.ChrL.env$bStarted == TRUE) { >> stop("Data structures were already initialized.", call.=FALSE) >> } >> } >> ChrL.Start <- function() { >> CheckGloCreated() >> >> cat("Libraries have been loaded and data structure has been >> initialized.\n") >> } >> >> >> >> As you can do, I used an own environment (.ChrL.env). >> >> >> Now, with R 3.1.0, I construct the package and I load it but it seems >> .ChrL.env does not exists. >> >> >> The method I use is the following: >> >> >> rm(list=ls()) >> >> setwd("D:/probando") >> >> source("probando.r", encoding="utf-8") >> >> package.skeleton(name="ChrL", path="D:/probando")This says that you read the file d:/probando/probando.r, then created a package in the same directory. Don't do that. Create the package somewhere else, and copy the source to your functions into the R subdirectory that gets created.>> >> >> My Namespace: >> >> export(ChrL.Start) >> >> >> My ChrL-internal.R: >> >> .ChrL.env <- new.env()As far as I can see, you never added this to the package, so the environment wouldn't be created. Duncan Murdoch>> >> >> Could you help me, please?. It is very urgent... >> >> >> My project is more complex that the example I put, but I have tested with >> this simple example and the problem is the same. >> >> >> Thank you in advance. >> >> >> Regards, >> >> Eva >> [[alternative HTML version deleted]] >> >> >> _______________________________________________ >> R-help-es mailing list >> R-help-es@r-project.org >> https://stat.ethz.ch/mailman/listinfo/r-help-es >> >> > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@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. >