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 <pda...@gmail.com> 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 <rai...@krugs.de> 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: 0000-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: 0000-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