Duncan, One note: although I used package.skeleton more than one time, I always do it after remove ChrL folder.
Eva 2014-07-08 0:55 GMT+02:00 Duncan Murdoch <murdoch.dun...@gmail.com>: > On 07/07/2014, 6:39 PM, Eva Prieto Castro wrote: > > Hi again, Duncan > > > > I think I must tell you all the details of the method I use, in order to > > make possible you notice my error. > > Your error is in calling package.skeleton. As I said before, you should > have done this once, when you first thought of creating the ChrL > package, and *you should never call it again* for that package. > > The normal workflow after the single call to that function is to edit > the files in the ChrL directory. Don't call package.skeleton again. > > If you want to describe the problems you are having, you should be > describing the contents of the ChrL directory, not how they were > created. That is normally irrelevant, except that in your case, I think > that is the source of the problem. > > Duncan Murdoch > > However, you must know that this > > method run on 3.0.1 version (not in 3.0.2 and not in 3.1.0; this is the > > problem!). > > > > 1) This is my code in "D:/probando.r" : > > > > > > .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("Tested.\n") > > } > > > > 2) I open RGUI and run the following: > > > > setwd("D:/") > > source("probando.r", encoding="utf-8") > > package.skeleton(name="ChrL", path="D:/") > > > > 3) At this point, ChrL folder has been created in D:/, so I adjust > > Description and Namespace files. In R folder, ChrL-internal.r file is as > > I indicate below... > > > >>> > >>> > >>> My Namespace: > >>> > >>> export(ChrL.Start) > >>> > >>> > >>> My ChrL-internal.R: > >>> > >>> .ChrL.env <- new.env() > > > > 3) I go to bin folder (C:/Program Files/R/R-3.1.0/bin) and run the > > following: > > > > R CMD INSTALL D:/ChrL > > > > R CMD check D:/ChrL > > > > R CMD build D:/ChrL > > > > R CMD INSTALL --build D:/ChrL > > > > Consequently, zip is generated, and I load it in RGUI. Then I do > > "library(ChrL)", but I see .ChrL.env does not exists. ¡In 3.0.1 version > > it run ok!. What is the reason why in 3.1.0 version It does not exists?. > > > > > > Thanks again. > > > > Eva > > > > > > 2014-07-07 22:49 GMT+02:00 Duncan Murdoch <murdoch.dun...@gmail.com > > <mailto:murdoch.dun...@gmail.com>>: > > > > 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 <evapcas...@yahoo.es > > <mailto:evapcas...@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...@r-project.org <mailto:r-help...@r-project.org> > > >> https://stat.ethz.ch/mailman/listinfo/r-help-es > > >> > > >> > > > > > > [[alternative HTML version deleted]] > > > > > > ______________________________________________ > > > R-help@r-project.org <mailto: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. > > > > > > > > > [[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.