[R] [R-es] Consulta paquetización con versión R 3.1.0
Duncan Murdoch
murdoch.duncan at gmail.com
Mon Jul 7 22:49:07 CEST 2014
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 at 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 at r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>>
>>
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at 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.
>
More information about the R-help
mailing list