Home > Software engineering >  How to include subdirectory in `Remotes` field for R package `DESCRIPTION`
How to include subdirectory in `Remotes` field for R package `DESCRIPTION`

Time:06-19

Let's say I want to use in my R package a development version of a dependency as it stands on a certain GitHub branch, but the additional complication is that it resides in a subdirectory.

For example, if I wanted to rely on the glmmTMB package from this branch, I can download it using remotes like so:

remotes::install_github("glmmTMB/glmmTMB@ci_tweaks", subdir = "glmmTMB")

If this package were not based in a subdirectory, I could have included the following in the DESCRIPTION file:

Remotes: glmmTMB/glmmTMB@ci_tweaks

But I don't know how to specify a subdirectory here to get the package.

CodePudding user response:

You should know that remotes creates all needed DESCRIPTION file fields for you. So I run the remotes::install_github("glmmTMB/glmmTMB@ci_tweaks", subdir = "glmmTMB") and then packageDescription("glmmTMB"). Check out how many Remote and Github connected fileds are added. There is e.g. RemoteSubdir: glmmTMB too.

> packageDescription("glmmTMB")
Package: glmmTMB
Title: Generalized Linear Mixed Models using Template Model Builder
Version: 1.1.4
Authors@R: c(person("Mollie","Brooks", comment=c(ORCID="0000-0001-6963-8326"), role =
          c("aut", "cre"), email = "[email protected]"), person("Ben","Bolker",
          role="aut", comment=c(ORCID="0000-0002-2127-0443")),
          person("Kasper","Kristensen",role="aut"), person("Martin","Maechler", role="aut",
          comment=c(ORCID="0000-0002-8685-9910")), person("Arni","Magnusson", role="aut",
          comment=c(ORCID="0000-0003-2769-6741")), person("Maeve","McGillycuddy",
          role="ctb"), person("Hans","Skaug",role="aut"), person("Anders","Nielsen",
          role="aut", comment=c(ORCID="0000-0001-9683-9262")), person("Casper","Berg",
          role="aut", comment=c(ORCID="0000-0002-3812-5269")), person("Koen","van Bentham",
          role="aut"), person("Nafis","Sadat",role="ctb",
          comment=c(ORCID="0000-0001-5715-616X")), person("Daniel","Lüdecke", role="ctb",
          comment=c(ORCID="0000-0002-8895-3206")), person("Russ","Lenth", role="ctb"),
          person("Joseph", "O'Brien", role = "ctb", comment = c(ORCID =
          "0000-0001-9851-5077")), person("Charles J.","Geyer", role="ctb"),
          person("Mikael","Jagan", role="ctb", comment = c(ORCID = "0000-0002-3542-2938")),
          person("Brenton", "Wiernik", role="ctb", comment = c(ORCID =
          "0000-0001-9560-6336")) )
Description: Fit linear and generalized linear mixed models with various extensions,
          including zero-inflation. The models are fitted using maximum likelihood
          estimation via 'TMB' (Template Model Builder). Random effects are assumed to be
          Gaussian on the scale of the linear predictor and are integrated out using the
          Laplace approximation. Gradients are calculated using automatic differentiation.
License: AGPL-3
Depends: R (>= 3.2.0)
Imports: methods, TMB (>= 1.7.14), lme4 (>= 1.1-18.9000), Matrix, nlme, numDeriv
LinkingTo: TMB, RcppEigen
Suggests: knitr, rmarkdown, testthat, MASS, lattice, ggplot2 (>= 2.2.1), mlmRev, bbmle (>=
          1.0.19), pscl, coda, reshape2, car (>= 3.0.6), emmeans (>= 1.4), estimability,
          DHARMa, multcomp, MuMIn, effects (>= 4.0-1), dotwhisker, broom, broom.mixed, plyr,
          png, boot, texreg, xtable, huxtable, mvabund
SystemRequirements: GNU make
VignetteBuilder: knitr, rmarkdown
URL: https://github.com/glmmTMB/glmmTMB
LazyData: TRUE
BugReports: https://github.com/glmmTMB/glmmTMB/issues
NeedsCompilation: yes
Encoding: UTF-8
RoxygenNote: 7.1.2
RemoteType: github
RemoteHost: api.github.com
RemoteRepo: glmmTMB
RemoteUsername: glmmTMB
RemoteRef: ci_tweaks
RemoteSha: fd8bb78acd8b198147285ce94b1f67043349f570
RemoteSubdir: glmmTMB
GithubRepo: glmmTMB
GithubUsername: glmmTMB
GithubRef: ci_tweaks
GithubSHA1: fd8bb78acd8b198147285ce94b1f67043349f570
GithubSubdir: glmmTMB
Packaged: 2022-06-18 19:33:52 UTC; maciejnasinski
Author: Mollie Brooks [aut, cre] (<https://orcid.org/0000-0001-6963-8326>), Ben Bolker [aut]
          (<https://orcid.org/0000-0002-2127-0443>), Kasper Kristensen [aut], Martin
          Maechler [aut] (<https://orcid.org/0000-0002-8685-9910>), Arni Magnusson [aut]
          (<https://orcid.org/0000-0003-2769-6741>), Maeve McGillycuddy [ctb], Hans Skaug
          [aut], Anders Nielsen [aut] (<https://orcid.org/0000-0001-9683-9262>), Casper Berg
          [aut] (<https://orcid.org/0000-0002-3812-5269>), Koen van Bentham [aut], Nafis
          Sadat [ctb] (<https://orcid.org/0000-0001-5715-616X>), Daniel Lüdecke [ctb]
          (<https://orcid.org/0000-0002-8895-3206>), Russ Lenth [ctb], Joseph O'Brien [ctb]
          (<https://orcid.org/0000-0001-9851-5077>), Charles J. Geyer [ctb], Mikael Jagan
          [ctb] (<https://orcid.org/0000-0002-3542-2938>), Brenton Wiernik [ctb]
          (<https://orcid.org/0000-0001-9560-6336>)
Maintainer: Mollie Brooks <[email protected]>
Built: R 4.2.0; aarch64-apple-darwin20; 2022-06-18 19:33:53 UTC; unix

-- File: /Library/Frameworks/R.framework/Versions/4.2-arm64/Resources/library/glmmTMB/Meta/package.rds
  • Related