Closed cboettig closed 7 years ago
@cboettig
Ah, yes. Thanks for the reminder. Let me see what I can work up.
I have tested switchr (the installation from repos side of things) on 'old' versions of R, though not all the way back to 2.0.0. I haven't tested GRANBase though, so there may be some gotchas. I will work through this and get back to you.
On Tue, Oct 14, 2014 at 11:50 AM, Carl Boettiger notifications@github.com wrote:
@gmbecker https://github.com/gmbecker For a quick proof of principle, I've just used @eddelbuettel https://github.com/eddelbuettel 's recipe to install R 2.0.0 and R 2.14.0 from svn on a docker images (See: https://registry.hub.docker.com/u/rocker/r-versioned/tags/manage/). Can you give me a recipe for how you install old versions of CRAN packages, given the particular version of R? (Seems like GRAN/switchr must do this, but I can't see quite how it works).
— Reply to this email directly or view it on GitHub https://github.com/rocker-org/rocker-versioned/issues/1.
Gabriel Becker Graduate Student Statistics Department University of California, Davis
@gmbecker thanks. Given R's growth trajectory the preponderance of use cases will be far more recent than 2.0.0 anyway, but just through that up there as a proof of principle (along with 2.14.0 which you used in your example).
Not sure if the best strategy will be to install switchr directly on the old R image? (Since it looks like switchr is designed to allow a user to work from within a modern R terminal). Here we would just want to install older or compatible package versions for the given R version. Maybe we just want to extract the locatePkgVersion getPkgVersions functions you mentioned?
On Tue, Oct 14, 2014 at 12:58 PM, Gabe Becker notifications@github.com wrote:
@cboettig
Ah, yes. Thanks for the reminder. Let me see what I can work up.
I have tested switchr (the installation from repos side of things) on 'old' versions of R, though not all the way back to 2.0.0. I haven't tested GRANBase though, so there may be some gotchas. I will work through this and get back to you.
On Tue, Oct 14, 2014 at 11:50 AM, Carl Boettiger notifications@github.com
wrote:
@gmbecker https://github.com/gmbecker For a quick proof of principle, I've just used @eddelbuettel https://github.com/eddelbuettel 's recipe to install R 2.0.0 and R 2.14.0 from svn on a docker images (See: https://registry.hub.docker.com/u/rocker/r-versioned/tags/manage/). Can you give me a recipe for how you install old versions of CRAN packages, given the particular version of R? (Seems like GRAN/switchr must do this, but I can't see quite how it works).
— Reply to this email directly or view it on GitHub https://github.com/rocker-org/rocker-versioned/issues/1.
Gabriel Becker Graduate Student Statistics Department University of California, Davis
— Reply to this email directly or view it on GitHub https://github.com/rocker-org/rocker-versioned/issues/1#issuecomment-59106525 .
Carl Boettiger UC Santa Cruz http://carlboettiger.info/
@cboettig
Well switchr is designed to abstract the construction, management, and use of package libraries into a single, more convenient (we hope) API.
I agree that the stuff most /directly/ useful here is in GRANBase, but I'd argue we want to go beyond installPkgVersion. What we really want is the lazyRepo stuff, which works from a manifest (in the future it will support generating such a manifest using crandb). That protects us from dependency issues, etc.
That said, I'd still argue (not at all unbiasedly ;-) ) that you want a single rocker image per R version with switchr+GRANBase taking care of recreating one or many sessionInfos within them.
On Tue, Oct 14, 2014 at 1:04 PM, Carl Boettiger notifications@github.com wrote:
@gmbecker thanks. Given R's growth trajectory the preponderance of use cases will be far more recent than 2.0.0 anyway, but just through that up there as a proof of principle (along with 2.14.0 which you used in your example).
Not sure if the best strategy will be to install switchr directly on the old R image? (Since it looks like switchr is designed to allow a user to work from within a modern R terminal). Here we would just want to install older or compatible package versions for the given R version. Maybe we just want to extract the locatePkgVersion getPkgVersions functions you mentioned?
On Tue, Oct 14, 2014 at 12:58 PM, Gabe Becker notifications@github.com wrote:
@cboettig
Ah, yes. Thanks for the reminder. Let me see what I can work up.
I have tested switchr (the installation from repos side of things) on 'old' versions of R, though not all the way back to 2.0.0. I haven't tested GRANBase though, so there may be some gotchas. I will work through this and get back to you.
On Tue, Oct 14, 2014 at 11:50 AM, Carl Boettiger < notifications@github.com>
wrote:
@gmbecker https://github.com/gmbecker For a quick proof of principle, I've just used @eddelbuettel https://github.com/eddelbuettel 's recipe to install R 2.0.0 and R 2.14.0 from svn on a docker images (See: https://registry.hub.docker.com/u/rocker/r-versioned/tags/manage/). Can you give me a recipe for how you install old versions of CRAN packages, given the particular version of R? (Seems like GRAN/switchr must do this, but I can't see quite how it works).
— Reply to this email directly or view it on GitHub https://github.com/rocker-org/rocker-versioned/issues/1.
Gabriel Becker Graduate Student Statistics Department University of California, Davis
— Reply to this email directly or view it on GitHub < https://github.com/rocker-org/rocker-versioned/issues/1#issuecomment-59106525>
.
Carl Boettiger UC Santa Cruz http://carlboettiger.info/
— Reply to this email directly or view it on GitHub https://github.com/rocker-org/rocker-versioned/issues/1#issuecomment-59107323 .
Gabriel Becker Graduate Student Statistics Department University of California, Davis
@gmbecker this sounds good to me. I guess this allows the user to install different combinations of packages/package-versions on any given image of an R version? Would this also work if the user didn't know just what version of the packages they needed? (e.g. imagine trying to run an R script from, say, October 2009. You might guess the correct R version, but the script just has calls to package names without version numbers).
Maybe you can push an example to the repo when you get around to it (e.g. just extend the Dockerfile to add switchr+GRANBase and the appropriate packages?) That will help me conceptualize a bit better what the workflow you have in mind would look like.
If you're interested, maybe we could turn this into a little writeup with @eddelbuettel on versioned R docker images?
On Tue, Oct 14, 2014 at 1:11 PM, Gabe Becker notifications@github.com wrote:
@cboettig
Well switchr is designed to abstract the construction, management, and use of package libraries into a single, more convenient (we hope) API.
I agree that the stuff most /directly/ useful here is in GRANBase, but I'd argue we want to go beyond installPkgVersion. What we really want is the lazyRepo stuff, which works from a manifest (in the future it will support generating such a manifest using crandb). That protects us from dependency issues, etc.
That said, I'd still argue (not at all unbiasedly ;-) ) that you want a single rocker image per R version with switchr+GRANBase taking care of recreating one or many sessionInfos within them.
On Tue, Oct 14, 2014 at 1:04 PM, Carl Boettiger notifications@github.com
wrote:
@gmbecker thanks. Given R's growth trajectory the preponderance of use cases will be far more recent than 2.0.0 anyway, but just through that up there as a proof of principle (along with 2.14.0 which you used in your example).
Not sure if the best strategy will be to install switchr directly on the old R image? (Since it looks like switchr is designed to allow a user to work from within a modern R terminal). Here we would just want to install older or compatible package versions for the given R version. Maybe we just want to extract the locatePkgVersion getPkgVersions functions you mentioned?
On Tue, Oct 14, 2014 at 12:58 PM, Gabe Becker notifications@github.com
wrote:
@cboettig
Ah, yes. Thanks for the reminder. Let me see what I can work up.
I have tested switchr (the installation from repos side of things) on 'old' versions of R, though not all the way back to 2.0.0. I haven't tested GRANBase though, so there may be some gotchas. I will work through this and get back to you.
On Tue, Oct 14, 2014 at 11:50 AM, Carl Boettiger < notifications@github.com>
wrote:
@gmbecker https://github.com/gmbecker For a quick proof of principle, I've just used @eddelbuettel https://github.com/eddelbuettel 's recipe to install R 2.0.0 and R 2.14.0 from svn on a docker images (See: https://registry.hub.docker.com/u/rocker/r-versioned/tags/manage/). Can you give me a recipe for how you install old versions of CRAN packages, given the particular version of R? (Seems like GRAN/switchr must do this, but I can't see quite how it works).
— Reply to this email directly or view it on GitHub https://github.com/rocker-org/rocker-versioned/issues/1.
Gabriel Becker Graduate Student Statistics Department University of California, Davis
— Reply to this email directly or view it on GitHub <
https://github.com/rocker-org/rocker-versioned/issues/1#issuecomment-59106525>
.
Carl Boettiger UC Santa Cruz http://carlboettiger.info/
— Reply to this email directly or view it on GitHub < https://github.com/rocker-org/rocker-versioned/issues/1#issuecomment-59107323>
.
Gabriel Becker Graduate Student Statistics Department University of California, Davis
— Reply to this email directly or view it on GitHub https://github.com/rocker-org/rocker-versioned/issues/1#issuecomment-59108318 .
Carl Boettiger UC Santa Cruz http://carlboettiger.info/
@cboettig
I'll definitely get something into the repo when I can (next couple of days, if not sooner). The focus of switchr is definitely having multiple encapsulations, some for current collaborations, some for reproduction of past results, etc, all live simultaneously within an R version.
Not knowing which versions you want doesn't work at the technical level without an existing package repository to point to, but using crandb we can make it appear to the user that it does.
I'm working on a paper now about switchr+GRANBase and this notion of focusing on, reasoning about, distributing, and recreating package libraries and repositories for a variety of purposes (reproducibility being a major one on the list). I can get you a draft - if you're interested - as soon as it's at the appropriate stage for that, which should be soon.
If we feel like there is a writeup about how our stuff combines that doesn't interfere with that I'm definitely interesting in putting something together with you guys. On a related note I saw your (proto?) article on arXvix about this stuff and had already intended on citing it in my discussion. If not this then something else for sure. I'm not sure how we managed to get through our time at davis without ever actually collaborating :p.
~G
On Tue, Oct 14, 2014 at 1:19 PM, Carl Boettiger notifications@github.com wrote:
@gmbecker this sounds good to me. I guess this allows the user to install different combinations of packages/package-versions on any given image of an R version? Would this also work if the user didn't know just what version of the packages they needed? (e.g. imagine trying to run an R script from, say, October 2009. You might guess the correct R version, but the script just has calls to package names without version numbers).
Maybe you can push an example to the repo when you get around to it (e.g. just extend the Dockerfile to add switchr+GRANBase and the appropriate packages?) That will help me conceptualize a bit better what the workflow you have in mind would look like.
If you're interested, maybe we could turn this into a little writeup with @eddelbuettel on versioned R docker images?
On Tue, Oct 14, 2014 at 1:11 PM, Gabe Becker notifications@github.com wrote:
@cboettig
Well switchr is designed to abstract the construction, management, and use of package libraries into a single, more convenient (we hope) API.
I agree that the stuff most /directly/ useful here is in GRANBase, but I'd argue we want to go beyond installPkgVersion. What we really want is the lazyRepo stuff, which works from a manifest (in the future it will support generating such a manifest using crandb). That protects us from dependency issues, etc.
That said, I'd still argue (not at all unbiasedly ;-) ) that you want a single rocker image per R version with switchr+GRANBase taking care of recreating one or many sessionInfos within them.
On Tue, Oct 14, 2014 at 1:04 PM, Carl Boettiger < notifications@github.com>
wrote:
@gmbecker thanks. Given R's growth trajectory the preponderance of use cases will be far more recent than 2.0.0 anyway, but just through that up there as a proof of principle (along with 2.14.0 which you used in your example).
Not sure if the best strategy will be to install switchr directly on the old R image? (Since it looks like switchr is designed to allow a user to work from within a modern R terminal). Here we would just want to install older or compatible package versions for the given R version. Maybe we just want to extract the locatePkgVersion getPkgVersions functions you mentioned?
On Tue, Oct 14, 2014 at 12:58 PM, Gabe Becker < notifications@github.com>
wrote:
@cboettig
Ah, yes. Thanks for the reminder. Let me see what I can work up.
I have tested switchr (the installation from repos side of things) on 'old' versions of R, though not all the way back to 2.0.0. I haven't tested GRANBase though, so there may be some gotchas. I will work through this and get back to you.
On Tue, Oct 14, 2014 at 11:50 AM, Carl Boettiger < notifications@github.com>
wrote:
@gmbecker https://github.com/gmbecker For a quick proof of principle, I've just used @eddelbuettel https://github.com/eddelbuettel 's recipe to install R 2.0.0 and R 2.14.0 from svn on a docker images (See: https://registry.hub.docker.com/u/rocker/r-versioned/tags/manage/).
Can
you give me a recipe for how you install old versions of CRAN packages, given the particular version of R? (Seems like GRAN/switchr must do this, but I can't see quite how it works).
— Reply to this email directly or view it on GitHub https://github.com/rocker-org/rocker-versioned/issues/1.
Gabriel Becker Graduate Student Statistics Department University of California, Davis
— Reply to this email directly or view it on GitHub <
https://github.com/rocker-org/rocker-versioned/issues/1#issuecomment-59106525>
.
Carl Boettiger UC Santa Cruz http://carlboettiger.info/
— Reply to this email directly or view it on GitHub <
https://github.com/rocker-org/rocker-versioned/issues/1#issuecomment-59107323>
.
Gabriel Becker Graduate Student Statistics Department University of California, Davis
— Reply to this email directly or view it on GitHub < https://github.com/rocker-org/rocker-versioned/issues/1#issuecomment-59108318>
.
Carl Boettiger UC Santa Cruz http://carlboettiger.info/
— Reply to this email directly or view it on GitHub https://github.com/rocker-org/rocker-versioned/issues/1#issuecomment-59109523 .
Gabriel Becker Graduate Student Statistics Department University of California, Davis
@cboettig,
The refactor of GRANBase turned out to be a bit more substantial than I had expected, but is essentially done now. It's in the API_refactor branch in the gmbecker/gRAN repository. I will get some code snippets, hopefully using crandb as a manifest, up soon.
Apologies for the delay.
~G
On Tue, Oct 14, 2014 at 1:36 PM, Gabriel Becker gmbecker@ucdavis.edu wrote:
@cboettig
I'll definitely get something into the repo when I can (next couple of days, if not sooner). The focus of switchr is definitely having multiple encapsulations, some for current collaborations, some for reproduction of past results, etc, all live simultaneously within an R version.
Not knowing which versions you want doesn't work at the technical level without an existing package repository to point to, but using crandb we can make it appear to the user that it does.
I'm working on a paper now about switchr+GRANBase and this notion of focusing on, reasoning about, distributing, and recreating package libraries and repositories for a variety of purposes (reproducibility being a major one on the list). I can get you a draft - if you're interested - as soon as it's at the appropriate stage for that, which should be soon.
If we feel like there is a writeup about how our stuff combines that doesn't interfere with that I'm definitely interesting in putting something together with you guys. On a related note I saw your (proto?) article on arXvix about this stuff and had already intended on citing it in my discussion. If not this then something else for sure. I'm not sure how we managed to get through our time at davis without ever actually collaborating :p.
~G
On Tue, Oct 14, 2014 at 1:19 PM, Carl Boettiger notifications@github.com wrote:
@gmbecker this sounds good to me. I guess this allows the user to install different combinations of packages/package-versions on any given image of an R version? Would this also work if the user didn't know just what version of the packages they needed? (e.g. imagine trying to run an R script from, say, October 2009. You might guess the correct R version, but the script just has calls to package names without version numbers).
Maybe you can push an example to the repo when you get around to it (e.g. just extend the Dockerfile to add switchr+GRANBase and the appropriate packages?) That will help me conceptualize a bit better what the workflow you have in mind would look like.
If you're interested, maybe we could turn this into a little writeup with @eddelbuettel on versioned R docker images?
On Tue, Oct 14, 2014 at 1:11 PM, Gabe Becker notifications@github.com wrote:
@cboettig
Well switchr is designed to abstract the construction, management, and use of package libraries into a single, more convenient (we hope) API.
I agree that the stuff most /directly/ useful here is in GRANBase, but I'd argue we want to go beyond installPkgVersion. What we really want is the lazyRepo stuff, which works from a manifest (in the future it will support generating such a manifest using crandb). That protects us from dependency issues, etc.
That said, I'd still argue (not at all unbiasedly ;-) ) that you want a single rocker image per R version with switchr+GRANBase taking care of recreating one or many sessionInfos within them.
On Tue, Oct 14, 2014 at 1:04 PM, Carl Boettiger < notifications@github.com>
wrote:
@gmbecker thanks. Given R's growth trajectory the preponderance of use cases will be far more recent than 2.0.0 anyway, but just through that up there as a proof of principle (along with 2.14.0 which you used in your example).
Not sure if the best strategy will be to install switchr directly on the old R image? (Since it looks like switchr is designed to allow a user to work from within a modern R terminal). Here we would just want to install older or compatible package versions for the given R version. Maybe we just want to extract the locatePkgVersion getPkgVersions functions you mentioned?
On Tue, Oct 14, 2014 at 12:58 PM, Gabe Becker < notifications@github.com>
wrote:
@cboettig
Ah, yes. Thanks for the reminder. Let me see what I can work up.
I have tested switchr (the installation from repos side of things) on 'old' versions of R, though not all the way back to 2.0.0. I haven't tested GRANBase though, so there may be some gotchas. I will work through this and get back to you.
On Tue, Oct 14, 2014 at 11:50 AM, Carl Boettiger < notifications@github.com>
wrote:
@gmbecker https://github.com/gmbecker For a quick proof of principle, I've just used @eddelbuettel https://github.com/eddelbuettel 's recipe to install R 2.0.0 and R 2.14.0 from svn on a docker images (See: https://registry.hub.docker.com/u/rocker/r-versioned/tags/manage/).
Can
you give me a recipe for how you install old versions of CRAN packages, given the particular version of R? (Seems like GRAN/switchr must do this, but I can't see quite how it works).
— Reply to this email directly or view it on GitHub https://github.com/rocker-org/rocker-versioned/issues/1.
Gabriel Becker Graduate Student Statistics Department University of California, Davis
— Reply to this email directly or view it on GitHub <
https://github.com/rocker-org/rocker-versioned/issues/1#issuecomment-59106525>
.
Carl Boettiger UC Santa Cruz http://carlboettiger.info/
— Reply to this email directly or view it on GitHub <
https://github.com/rocker-org/rocker-versioned/issues/1#issuecomment-59107323>
.
Gabriel Becker Graduate Student Statistics Department University of California, Davis
— Reply to this email directly or view it on GitHub < https://github.com/rocker-org/rocker-versioned/issues/1#issuecomment-59108318>
.
Carl Boettiger UC Santa Cruz http://carlboettiger.info/
— Reply to this email directly or view it on GitHub https://github.com/rocker-org/rocker-versioned/issues/1#issuecomment-59109523 .
Gabriel Becker Graduate Student Statistics Department University of California, Davis
Gabriel Becker Graduate Student Statistics Department University of California, Davis
Packages installed from MRAN snapshot with date fixed to last day on which that R version was current. (Back to 3.1.0
, when MRAN snapshots began).
@gmbecker For a quick proof of principle, I've just used @eddelbuettel 's recipe to install R 2.0.0 and R 2.14.0 from svn on a docker images (See: https://registry.hub.docker.com/u/rocker/r-versioned/tags/manage/). Can you give me a recipe for how you install old versions of CRAN packages, given the particular version of R? (Seems like GRAN/switchr must do this, but I can't see quite how it works).