Thanks for the clarification - I was not aware of that. I will put the
variables in an environment and call them via a function before submission to
CRAN..
Thanks,
Rainer
> On 6 Dec 2019, at 12:03, peter dalgaard wrote:
>
> I think you may want to rethink the mechanism.
>
> Locked bindings are generally there to allow the compiler to make assumptions
> about the type, etc., of objects (or rather: not make assumptions because it
> will know what the type is). Unlocking invalidates this and may trigger
> recompilation or introduce errors. (There are people who know the details
> much better than I do).
>
> I seem to recall that people have come up with ways to set up an environment
> which can contain mutable objects of this sort.
>
> -pd
>
>> On 6 Dec 2019, at 10:05 , Rainer M Krug wrote:
>>
>> Hi
>>
>> In my package `dmdScheme` I define three variables. Depending on a state in
>> the package (a selected metadata schemes) these are set as followed from
>> within the package:
>>
>> ```
>> unlockBinding("dmdScheme_example", as.environment("package:dmdScheme"))
>> assign("dmdScheme_example", scheme_example, "package:dmdScheme")
>> lockBinding("dmdScheme_example", as.environment("package:dmdScheme"))
>>
>>
>> scheme_raw <- as_dmdScheme_raw(scheme_example)
>> unlockBinding("dmdScheme_raw", as.environment("package:dmdScheme"))
>> assign("dmdScheme_raw", scheme_raw, "package:dmdScheme")
>> lockBinding("dmdScheme_raw", as.environment("package:dmdScheme"))
>>
>>
>> scheme <- as_dmdScheme(scheme_raw, keepData = FALSE, checkVersion = FALSE)
>> unlockBinding("dmdScheme", as.environment("package:dmdScheme"))
>> assign("dmdScheme", scheme, "package:dmdScheme")
>> lockBinding("dmdScheme", as.environment("package:dmdScheme”))
>> ```
>>
>> ( See
>> https://github.com/Exp-Micro-Ecol-Hub/dmdScheme/blob/b97e7b5ef116476e065aeec1da1050eecbd6adf7/R/scheme_use.R#L37-L49
>> )
>>
>> My reasoning is that I want to lock these variables, as they are essential
>> to the functioning of the package.
>>
>> But I get, probably not surprising, the following NOTE:
>>
>>
>> ```
>> * checking R code for possible problems ... NOTE
>> Found the following possibly unsafe calls:
>> File ‘dmdScheme/R/scheme_use.R’:
>> unlockBinding("dmdScheme_example", as.environment("package:dmdScheme"))
>> unlockBinding("dmdScheme_raw", as.environment("package:dmdScheme"))
>> unlockBinding("dmdScheme", as.environment("package:dmdScheme"))
>> ```
>>
>> For the submission to CRAN, Can I disregard this note and explain it during
>> the submission?
>>
>> My second question concerns the values itself. I set the variables to NULL
>> in the /data folder in the package, but even after they are set as above,
>> the valuee in `dmdScheme::dmdScheme` is still NULL:
>>
>> ```
>>> names(dmdScheme)
>> [1] "Experiment" "Genus""Treatments" "Measurement"
>> [5] "DataExtraction" "DataFileMetaData"
>>> names(dmdScheme::dmdScheme)
>> NULL
>>>
>> ```
>>
>> Is there a way, that I can change the value of dmdScheme::… variables during
>> runtime?
>>
>> Thanks,
>>
>> Rainer
>>
>>
>> --
>> Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology,
>> UCT), Dipl. Phys. (Germany)
>>
>> Orcid ID: -0002-7490-0066
>>
>> Department of Evolutionary Biology and Environmental Studies
>> University of Zürich
>> Office Y34-J-74
>> Winterthurerstrasse 190
>> 8075 Zürich
>> Switzerland
>>
>> Office: +41 (0)44 635 47 64
>> Cell:+41 (0)78 630 66 57
>> email: rainer.k...@uzh.ch
>> rai...@krugs.de
>> Skype: RMkrug
>>
>> PGP: 0x0F52F982
>>
>> __
>> R-package-devel@r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-package-devel
>
> --
> Peter Dalgaard, Professor,
> Center for Statistics, Copenhagen Business School
> Solbjerg Plads 3, 2000 Frederiksberg, Denmark
> Phone: (+45)38153501
> Office: A 4.23
> Email: pd@cbs.dk Priv: pda...@gmail.com
>
>
>
>
>
>
>
>
>
--
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology,
UCT), Dipl. Phys. (Germany)
Orcid ID: -0002-7490-0066
Department of Evolutionary Biology and Environmental Studies
University of Zürich
Office Y34-J-74
Winterthurerstrasse 190
8075 Zürich
Switzerland
Office: +41 (0)44 635 47 64
Cell: +41 (0)78 630 66 57
email: rainer.k...@uzh.ch
rai...@krugs.de
Skype: RMkrug
PGP: 0x0F52F982
[[alternative HTML version deleted]]
__
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel