Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GLMMcosinor: Fit a cosinor model using the glmmTMB framework. #603

Closed
13 of 20 tasks
RWParsons opened this issue Aug 23, 2023 · 43 comments
Closed
13 of 20 tasks

GLMMcosinor: Fit a cosinor model using the glmmTMB framework. #603

RWParsons opened this issue Aug 23, 2023 · 43 comments
Assignees
Labels

Comments

@RWParsons
Copy link
Member

RWParsons commented Aug 23, 2023

Date accepted: 2024-01-09

Submitting Author Name: Rex Parsons
Submitting Author Github Handle: @RWParsons
Other Package Authors Github handles: @oliverjayasinghe, @nicolemwhite
Repository: https://github.com/RWParsons/GLMMcosinor
Version submitted: 0.1.0
Submission type: Stats
Badge grade: silver
Editor: @Paula-Moraga
Reviewers: @sachsmc, @jcavieresg

Archive: TBD
Version accepted: TBD
Language: en

  • Paste the full DESCRIPTION file inside a code block below:
Type: Package
Package: GLMMcosinor
Title: Fit a cosinor model using a generalised mixed modelling framework
Version: 0.1.0
Authors@R: c(
    person("Rex", "Parsons", , "rex.parsons94@gmail.com", role = c("aut", "cre"),
           comment = c(ORCID = "0000-0002-6053-8174")),
    person("Oliver", "Jayasinghe", role = "aut"),
    person("Nicole", "White", role = "aut",
           comment = c(ORCID = "0000-0002-9292-0773"))
  )
Description: Fit the cosinor model using the glmmTMB framework, allowing
    for a wide range of link functions and capacity of heirachical
    structures.
License: GPL (>= 3)
URL: https://github.com/RWParsons/GLMMcosinor,
    https://rwparsons.github.io/GLMMcosinor/
BugReports: https://github.com/RWParsons/GLMMcosinor/issues
Imports:
    assertthat,
    cowplot,
    ggforce,
    ggplot2,
    glmmTMB,
    lme4,
    rlang,
    scales,
    stats
Suggests:
    cosinor,
    covr,
    dplyr,
    DT,
    flextable,
    ftExtra,
    knitr,
    rmarkdown,
    testthat (>= 3.0.0),
    vdiffr,
    withr
VignetteBuilder: 
    knitr
Config/testthat/edition: 3
Encoding: UTF-8
LazyData: true
Roxygen: list(markdown = TRUE, roclets = c ("namespace", "rd",
    "srr::srr_stats_roclet"))
RoxygenNote: 7.2.3

Scope

  • Please indicate which of our statistical package categories this package falls under. (Please check one appropriate box below):

    Statistical Packages

    • Bayesian and Monte Carlo Routines
    • Dimensionality Reduction, Clustering, and Unsupervised Learning
    • Machine Learning
    • Regression and Supervised Learning
    • Exploratory Data Analysis (EDA) and Summary Statistics
    • Spatial Analyses
    • Time Series Analyses

Pre-submission Inquiry

  • A pre-submission inquiry has been approved in issue#601 with the issue number of the Pres-submission inquiry-->

General Information

  • Who is the target audience and what are scientific applications of this package?

People analysing rhythmic/circular data - for example, circadian biologists.

This is the first implementation of a cosinor modelling package which can handle generalised models (link functions) in R. There are other packages in python but these are limited to count-data related families. Similarly, there are very limited other packages in R that can handle a hierarchical structure or have helpful plotting methods for the model objects. This package is based on the {cosinor} R package but that is limited to linear models. A summary of existing software is given in a table in the README.

NA

Badging

Technical checks

Confirm each of the following by checking the box.

This package:

Publication options

  • Do you intend for this package to go on CRAN?
  • Do you intend for this package to go on Bioconductor?

Code of conduct

@ropensci-review-bot
Copy link
Collaborator

Thanks for submitting to rOpenSci, our editors and @ropensci-review-bot will reply soon. Type @ropensci-review-bot help for help.

@ropensci-review-bot
Copy link
Collaborator

🚀

The following problem was found in your submission template:

  • 'statsgrade' variable must be one of [bronze, silver, gold]
    Editors: Please ensure these problems with the submission template are rectified. Package checks have been started regardless.

👋

@ropensci-review-bot
Copy link
Collaborator

Checks for GLMMcosinor (v0.1.0)

git hash: c4251092

  • ✔️ Package name is available
  • ✔️ has a 'codemeta.json' file.
  • ✔️ has a 'contributing' file.
  • ✔️ uses 'roxygen2'.
  • ✔️ 'DESCRIPTION' has a URL field.
  • ✔️ 'DESCRIPTION' has a BugReports field.
  • ✔️ Package has at least one HTML vignette
  • ✔️ All functions have examples.
  • ✔️ Package has continuous integration checks.
  • ✔️ Package coverage is 91.8%.
  • ✔️ R CMD check found no errors.
  • ✔️ R CMD check found no warnings.
  • 👀 Function names are duplicated in other packages

(Checks marked with 👀 may be optionally addressed.)

Package License: GPL (>= 3)


1. rOpenSci Statistical Standards (srr package)

This package is in the following category:

  • Regression and Supervised Learning

✔️ All applicable standards [v0.2.0] have been documented in this package (296 complied with; 0 N/A standards)

Click to see the report of author-reported standards compliance of the package with links to associated lines of code, which can be re-generated locally by running the srr_report() function from within a local clone of the repository.


2. Package Dependencies

Details of Package Dependency Usage (click to open)

The table below tallies all function calls to all packages ('ncalls'), both internal (r-base + recommended, along with the package itself), and external (imported and suggested packages). 'NA' values indicate packages to which no identified calls to R functions could be found. Note that these results are generated by an automated code-tagging system which may not be entirely accurate.

type package ncalls
internal base 311
internal GLMMcosinor 28
internal utils 7
imports stats 57
imports ggplot2 14
imports glmmTMB 5
imports scales 3
imports rlang 2
imports assertthat 1
imports cowplot 1
imports lme4 1
imports ggforce NA
suggests cosinor NA
suggests covr NA
suggests dplyr NA
suggests DT NA
suggests flextable NA
suggests ftExtra NA
suggests knitr NA
suggests rmarkdown NA
suggests testthat NA
suggests vdiffr NA
suggests withr NA
linking_to NA NA

Click below for tallies of functions used in each package. Locations of each call within this package may be generated locally by running 's <- pkgstats::pkgstats(<path/to/repo>)', and examining the 'external_calls' table.

base

c (31), max (18), list (17), for (16), names (15), length (14), paste0 (14), paste (12), unlist (12), matrix (7), nrow (7), round (7), which (7), data.frame (6), F (6), lapply (6), attr (5), rep (5), sqrt (5), structure (5), cos (4), diag (4), dim (4), eval (4), min (4), pi (4), sin (4), abs (3), as.data.frame (3), cbind (3), class (3), gsub (3), match.call (3), mean (3), missing (3), ncol (3), substitute (3), t (3), args (2), grep (2), seq (2), seq_along (2), with (2), all.vars (1), array (1), as.character (1), as.factor (1), atan2 (1), col (1), colnames (1), deparse (1), deparse1 (1), drop (1), ifelse (1), labels (1), levels (1), rbind (1), regmatches (1), return (1), rownames (1), seq_len (1), signif (1), solve (1), stopifnot (1), str2lang (1), sum (1), summary (1), tan (1)

stats

formula (11), offset (6), qnorm (6), df (5), family (4), terms (4), coefficients (3), time (3), vcov (3), pchisq (2), runif (2), as.formula (1), coef (1), end (1), pnorm (1), predict (1), sd (1), start (1), var (1)

GLMMcosinor

get_new_coefs (4), amp_acro (3), sub_summary.cosinor.glmm (3), update_formula_and_data (3), amp_acro_iteration (2), cosinor.glmm (2), data_processor_plot (2), formula_eval (2), get_varnames (2), autoplot.cosinor.glmm (1), check_group_var (1), data_processor (1), fit_model_and_process (1), summary.cosinor.glmm (1)

ggplot2

element_blank (7), aes (3), ggplot (2), facet_grid (1), vars (1)

utils

data (7)

glmmTMB

fixef (4), glmmTMB (1)

scales

breaks_pretty (3)

rlang

sym (2)

assertthat

is.number (1)

cowplot

plot_grid (1)

lme4

findbars (1)

NOTE: Some imported packages appear to have no associated function calls; please ensure with author that these 'Imports' are listed appropriately.


3. Statistical Properties

This package features some noteworthy statistical properties which may need to be clarified by a handling editor prior to progressing.

Details of statistical properties (click to open)

The package has:

  • code in R (100% in 14 files) and
  • 3 authors
  • 6 vignettes
  • 1 internal data file
  • 9 imported packages
  • 16 exported functions (median 27 lines of code)
  • 45 non-exported functions in R (median 40 lines of code)

Statistical properties of package structure as distributional percentiles in relation to all current CRAN packages
The following terminology is used:

  • loc = "Lines of Code"
  • fn = "function"
  • exp/not_exp = exported / not exported

All parameters are explained as tooltips in the locally-rendered HTML version of this report generated by the checks_to_markdown() function

The final measure (fn_call_network_size) is the total number of calls between functions (in R), or more abstract relationships between code objects in other languages. Values are flagged as "noteworthy" when they lie in the upper or lower 5th percentile.

measure value percentile noteworthy
files_R 14 70.8
files_vignettes 7 98.5
files_tests 9 89.6
loc_R 1990 84.1
loc_vignettes 1610 95.9 TRUE
loc_tests 1493 91.6
num_vignettes 6 98.7 TRUE
data_size_total 2990 64.7
data_size_median 2990 71.3
n_fns_r 61 62.9
n_fns_r_exported 16 60.6
n_fns_r_not_exported 45 64.7
n_fns_per_file_r 3 52.5
num_params_per_fn 6 77.4
loc_per_fn_r 34 80.7
loc_per_fn_r_exp 27 58.8
loc_per_fn_r_not_exp 40 86.1
rel_whitespace_R 15 80.3
rel_whitespace_vignettes 19 92.4
rel_whitespace_tests 9 78.9
doclines_per_fn_exp 54 67.1
doclines_per_fn_not_exp 0 0.0 TRUE
fn_call_network_size 35 58.7

3a. Network visualisation

Click to see the interactive network visualisation of calls between objects in package


4. goodpractice and other checks

Details of goodpractice checks (click to open)

3a. Continuous Integration Badges

R-CMD-check.yaml

GitHub Workflow Results

id name conclusion sha run_number date
5947357214 pages build and deployment success 6204b8 99 2023-08-23
5947315446 pkgdown success c42510 115 2023-08-23
5947315449 R-CMD-check success c42510 151 2023-08-23
5947315448 test-coverage success c42510 120 2023-08-23

3b. goodpractice results

R CMD check with rcmdcheck

rcmdcheck found no errors, warnings, or notes

Test coverage with covr

Package coverage: 91.83

Cyclocomplexity with cyclocomp

The following functions have cyclocomplexity >= 15:

function cyclocomplexity
autoplot.cosinor.glmm 34
polar_plot.cosinor.glmm 32
summary.cosinor.glmm 15

Static code analyses with lintr

lintr found the following 10 potential issues:

message number of times
Avoid library() and require() calls in packages 10


5. Other Checks

Details of other checks (click to open)

✖️ The following function name is duplicated in other packages:

    • simulate_cosinor from cosinor


Package Versions

package version
pkgstats 0.1.3.7
pkgcheck 0.1.2.1
srr 0.0.1.192


Editor-in-Chief Instructions:

This package is in top shape and may be passed on to a handling editor

@noamross
Copy link
Contributor

noamross commented Sep 5, 2023

@ropensci-review-bot assign @Paula-Moraga as editor

@ropensci-review-bot
Copy link
Collaborator

Assigned! @Paula-Moraga is now the editor

@Paula-Moraga
Copy link

@ropensci-review-bot seeking reviewers

@ropensci-review-bot
Copy link
Collaborator

Please add this badge to the README of your package repository:

[![Status at rOpenSci Software Peer Review](https://badges.ropensci.org/603_status.svg)](https://github.com/ropensci/software-review/issues/603)

Furthermore, if your package does not have a NEWS.md file yet, please create one to capture the changes made during the review process. See https://devguide.ropensci.org/releasing.html#news

@Paula-Moraga
Copy link

@ropensci-review-bot assign @sachsmc as reviewer

@ropensci-review-bot
Copy link
Collaborator

@sachsmc added to the reviewers list. Review due date is 2023-10-05. Thanks @sachsmc for accepting to review! Please refer to our reviewer guide.

rOpenSci’s community is our best asset. We aim for reviews to be open, non-adversarial, and focused on improving software quality. Be respectful and kind! See our reviewers guide and code of conduct for more.

@ropensci-review-bot
Copy link
Collaborator

@sachsmc: If you haven't done so, please fill this form for us to update our reviewers records.

@ropensci-review-bot
Copy link
Collaborator

📆 @sachsmc you have 2 days left before the due date for your review (2023-10-05).

@sachsmc
Copy link

sachsmc commented Oct 3, 2023

Package Review

Please check off boxes as applicable, and elaborate in comments below. Your review is not limited to these topics, as described in the reviewer guide

  • Briefly describe any working relationship you have (had) with the package authors.
  • ☒ As the reviewer I confirm that there are no conflicts of interest for me to review this work (if you are unsure whether you are in conflict, please speak to your editor before starting your review).

Documentation

The package includes all the following forms of documentation:

  • A statement of need: clearly stating problems the software is designed to solve and its target audience in README
  • Installation instructions: for the development version of package and any non-standard dependencies in README
  • Vignette(s): demonstrating major functionality that runs successfully locally
  • Function Documentation: for all exported functions
  • Examples: (that run successfully locally) for all exported functions
  • Community guidelines: including contribution guidelines in the README or CONTRIBUTING, and DESCRIPTION with URL, BugReports and Maintainer (which may be autogenerated via Authors@R).

Functionality

  • Installation: Installation succeeds as documented.
  • Functionality: Any functional claims of the software been confirmed.
  • Performance: Any performance claims of the software been confirmed.
  • Automated tests: Unit tests cover essential functions of the package and a reasonable range of inputs and conditions. All tests pass on the local machine.
  • Packaging guidelines: The package conforms to the rOpenSci packaging guidelines.

Estimated hours spent reviewing: 4

  • ☒ Should the author(s) deem it appropriate, I agree to be acknowledged as a package reviewer (“rev” role) in the package DESCRIPTION file.

Review Comments

  • The package is quite high quality and I am impressed by the breadth of features available and their implementations. I think it will be incredibly useful to the research community working with rhythmic data. I will recommend this to anyone who asks how to analyze rhythmic data.
  • The package docs are quite impressive to someone who is familiar with the cosinor model, but maybe it is not so accessible to someone who is not. To remedy this, I think the vignettes and possibly the readme could use a more thorough description of the motivation for using the cosinor model. Maybe in the context of the vitamind example dataset you could give a short explanation of the biological rationale for the model, what the potential research questions that could be answered, and how the data were (hypothetically) collected.
  • Feature suggestion: predict function could be enhanced to also obtain predictions of time-independent parameters given a vector of covariates, e.g., the amplitude, acrophase, or MESOR.
  • The title in DESCRIPTION will need to be in title case if you plan to submit to CRAN.
  • Inconsistent use of snake case and dot case in the function arguments of: autoplot, simulate_cosinor
  • The vitamind example dataset description is completely generic (e.g., “Y is an outcome variable”). You could consider adding some fake details about the measurements, or instead changing the name of the dataset to something equally generic, like example_data or similar.

@Paula-Moraga
Copy link

Many thanks @sachsmc for your time and very thoughtful review!

@Paula-Moraga
Copy link

@ropensci-review-bot submit review #603 (comment) time 4

@ropensci-review-bot
Copy link
Collaborator

Logged review for sachsmc (hours: 4)

@RWParsons
Copy link
Member Author

RWParsons commented Oct 4, 2023

Thank you very much @sachsmc for the positive feedback and helpful comments!
We will work to address them over the coming couple weeks but I'd just like to clarify how you would picture the use of the proposed feature for the predict function?

Are you suggesting that the user pass the inputs and the output would be a visualised rhythm?

say something like:

predict(MESOR = 5, amplitude= 2, acrophase = pi, period = 12) # or passed as a named vector or some other way so that it plays nicely with the stats::predict() generic

And it would spit out something similar to simulate_cosinor() but as if there were no noise term? I think I'm struggling to distinguish how this would be very different from simulate_cosinor() so it likely that I'm not understanding how you intend for it to work.

Thanks!

@sachsmc
Copy link

sachsmc commented Oct 4, 2023

No, not a visualized rhythm, but more like a summary statistic of the rhythm for a vector of covariate values. So the main arguments would be the newdata, but then you could add a type = "amplitude", or "mesor", for example, which would give the predicted parameter for the subpopulation with those covariate values. For simple models, those parameters can be obtained directly from the print method, but this predict approach would be useful for complex models with continuous covariates, for example. I had the predict methods from the survival package in mind when I made the suggestion.

Come to think of it, is it true that it is not possible to specify a model such that the amplitude and acrophase vary continuously in the covariate? Is there a need for such a model or would that be too biologically implausible?

Anyway these are just minor suggestions, so if this is to complex or there is no need for such things, feel free to ignore.

@RWParsons
Copy link
Member Author

RWParsons commented Oct 4, 2023

Oh right!

You're right, it's currently not possible to specify a model such that the amplitude/acrophase can vary over time. It can only vary in relation the grouping levels but that's provided to the user when using print(model).

I've given some thought to the type of model that you're suggesting before though. circacompare allows the user to specify a decay term on amplitude or acrophase so this feature may be useful there, but it's only possible because it uses nonlinear regression instead of the cosinor model. Otherwise, I think a cosinor model would need to be adjusted to have an interaction term between time (or possibly a nonlinear spline on time) with the cosinor components (rrr and sss). This could sort of allow the confidence ellipse of a rhythm "move" over time and be could be evaluated at any given time-point. (I was thinking to do this for evaluating how fast an animal adjusts to a phase shift but never pursued it.)

This feature might be out of scope for this initial version but I'll keep in mind for perhaps a future development of the package. I think it'd probably require some adjustments to amp_acro() to allow the user to specify an interaction term with time and that'd have some flow on effects to the summary/print/autplot/polar_plot methods.

@Paula-Moraga
Copy link

@ropensci-review-bot assign @jcavieresg as reviewer

@ropensci-review-bot
Copy link
Collaborator

@jcavieresg added to the reviewers list. Review due date is 2023-10-31. Thanks @jcavieresg for accepting to review! Please refer to our reviewer guide.

rOpenSci’s community is our best asset. We aim for reviews to be open, non-adversarial, and focused on improving software quality. Be respectful and kind! See our reviewers guide and code of conduct for more.

@ropensci-review-bot
Copy link
Collaborator

@jcavieresg: If you haven't done so, please fill this form for us to update our reviewers records.

@Paula-Moraga
Copy link

@ropensci-review-bot set due date for @jcavieresg to 2023-11-30

@ropensci-review-bot
Copy link
Collaborator

Review due date for @jcavieresg is now 30-November-2023

@ropensci-review-bot
Copy link
Collaborator

@RWParsons, @oliverjayasinghe, @nicolemwhite: please post your response with @ropensci-review-bot submit response <url to issue comment> if you haven't done so already (this is an automatic reminder).

Here's the author guide for response. https://devguide.ropensci.org/authors-guide.html

@jcavieresg
Copy link

jcavieresg commented Nov 21, 2023


title: "Review package GLMMcosinor"
output:
rmarkdown::md_document:
pandoc_args: [
"--wrap=none"
]

Package Review

Please check off boxes as applicable, and elaborate in comments below. Your review is not limited to these topics, as described in the reviewer guide

  • Briefly describe any working relationship you have (had) with the package authors.
  • As the reviewer I confirm that there are no conflicts of interest for me to review this work (if you are unsure whether you are in conflict, please speak to your editor before starting your review).

Documentation

The package includes all the following forms of documentation:

  • A statement of need: clearly stating problems the software is designed to solve and its target audience in README
  • Installation instructions: for the development version of package and any non-standard dependencies in README
  • Vignette(s): demonstrating major functionality that runs successfully locally
  • Function Documentation: for all exported functions
  • Examples: (that run successfully locally) for all exported functions
  • Community guidelines: including contribution guidelines in the README or CONTRIBUTING, and DESCRIPTION with URL, BugReports and Maintainer (which may be autogenerated via Authors@R).

Functionality

  • Installation: Installation succeeds as documented.
  • Functionality: Any functional claims of the software been confirmed.
  • Performance: Any performance claims of the software been confirmed.
  • Automated tests: Unit tests cover essential functions of the package and a reasonable range of inputs and conditions. All tests pass on the local machine.
  • Packaging guidelines: The package conforms to the rOpenSci packaging guidelines.

Estimated hours spent reviewing: 5

  • Should the author(s) deem it appropriate, I agree to be acknowledged as a package reviewer ("rev" role) in the package DESCRIPTION file.

Review Comments

  • The package 'GLMMcosinor' is very well designed and aligned with the conventional syntax employed in creating statistical models (e.g. $\texttt{lm()}$ or $\texttt{glm()}$ functions). This makes it easy to comprehend the primary function, $\texttt{cglmm()}$.
  • The package also allows a fast computation considering complex models (as mixed models).
  • The documentation associated with the package is intuitive and user-friendly, making it easy to follow. As a result, nearly all the provided examples can be successfully replicated.
  • The visual representation generated by the $\texttt{autoplot()}$ function is a valuable feature, eliminating the need for additional coding.

Suggestions

  • Is it possible to set $\texttt{Hessian = TRUE}$ in the $\texttt{cglmm()}$ function? This could be valuable for conducting diagnostics on the model. It should not be a problem if the authors are using TMB/glmmTMB as a precursor to the package.
  • Providing a brief documentation of the underlying theory behind the package could be valuable. This is because TMB/glmmTMB relies on maximum likelihood for estimating models without random effects, while it employs Laplace approximation when random effects are declared in the model. While referencing relevant literature is often sufficient, offering a concise explanation in the documentation of this package could serve as an additional helpful resource.
  • For dispersion models, like Poisson or Negative Binomial for the response variable, it might be beneficial to include a "dispersion statistic" for comparative purposes.

Minor suggestions

  • It might be better to use the %>% operator (pipe) instead of $|&gt;$ for the reproducible examples of mixed models. I encountered some difficulties when attempting to reproduce them.
  • The same when the authors are declaring as 'factor' the variable 'subject'. I used dat_mixed$subject <- as.factor(dat_mixed$subject) and it worked.

@Paula-Moraga
Copy link

Many thanks for your time and review, @jcavieresg!

@Paula-Moraga
Copy link

@ropensci-review-bot submit review #603 (comment) time 5

@ropensci-review-bot
Copy link
Collaborator

Logged review for jcavieresg (hours: 5)

@Paula-Moraga
Copy link

Many thanks again @sachsmc and @jcavieresg for your time and effort reviewing the package!

@RWParsons, @oliverjayasinghe, @nicolemwhite, please consider updating the package by incorporating the comments made by the reviewers. Looking forward to seeing the new version!

@ropensci-review-bot
Copy link
Collaborator

@RWParsons, @oliverjayasinghe, @nicolemwhite: please post your response with @ropensci-review-bot submit response <url to issue comment> if you haven't done so already (this is an automatic reminder).

Here's the author guide for response. https://devguide.ropensci.org/authors-guide.html

@RWParsons
Copy link
Member Author

RWParsons commented Dec 14, 2023

Thanks @Paula-Moraga and thank you @sachsmc and @jcavieresg for your helpful and constructive reviews of the package.

I made an issues on the GLMMcosinor repo with the suggestions from each reviewer.

@jcavieresg's review issue: ropensci/GLMMcosinor#4

@sachsmc's review issue: ropensci/GLMMcosinor#2

In each of these issues, I have left a comment on how we addressed each suggestion (and checked them off as they were completed).

These changes are currently on the dev branch. I'll merge to main once it's approved in case there are more suggestions.

@RWParsons
Copy link
Member Author

@ropensci-review-bot submit response #603 (comment)

@ropensci-review-bot
Copy link
Collaborator

Logged author response!

@RWParsons
Copy link
Member Author

Hi @Paula-Moraga

Just checking in to check that the ball isn't still in my court. I've responded to the reviewer comments and made the changes to the dev branch of the repo and done the submit response thing. Should the label be changed to '5/awaiting reviewers response' now or notify the reviewers to check the changes/responses?

Thanks!

@Paula-Moraga
Copy link

Thanks, @RWParsons!

@sachsmc and @jcavieresg, can you please check if you are satisfied with the changes and if you have additional comments? Thanks!

@sachsmc
Copy link

sachsmc commented Jan 8, 2024 via email

@jcavieresg
Copy link

Sorry! I missed the previous response of @RWParsons

Considering the answers of the author, all my comments/observations were solved.
Best wishes,

@RWParsons
Copy link
Member Author

Thanks for your quick responses and helpful reviews, @sachsmc and @jcavieresg!!

@Paula-Moraga
Copy link

Great! Thanks so much @sachsmc and @jcavieresg for your time and effort. I am very pleased to approve the package. Well done and congratulations, @RWParsons!

@Paula-Moraga
Copy link

@ropensci-review-bot approve GLMMcosinor

@ropensci-review-bot
Copy link
Collaborator

Approved! Thanks @RWParsons for submitting and @sachsmc, @jcavieresg for your reviews! 😁

To-dos:

  • Transfer the repo to rOpenSci's "ropensci" GitHub organization under "Settings" in your repo. I have invited you to a team that should allow you to do so. You will need to enable two-factor authentication for your GitHub account.
    This invitation will expire after one week. If it happens write a comment @ropensci-review-bot invite me to ropensci/<package-name> which will re-send an invitation.
  • After transfer write a comment @ropensci-review-bot finalize transfer of <package-name> where <package-name> is the repo/package name. This will give you admin access back.
  • Fix all links to the GitHub repo to point to the repo under the ropensci organization.
  • Delete your current code of conduct file if you had one since rOpenSci's default one will apply, see https://devguide.ropensci.org/collaboration.html#coc-file
  • If you already had a pkgdown website and are ok relying only on rOpenSci central docs building and branding,
    • deactivate the automatic deployment you might have set up
    • remove styling tweaks from your pkgdown config but keep that config file
    • replace the whole current pkgdown website with a redirecting page
    • replace your package docs URL with https://docs.ropensci.org/package_name
    • In addition, in your DESCRIPTION file, include the docs link in the URL field alongside the link to the GitHub repository, e.g.: URL: https://docs.ropensci.org/foobar, https://github.com/ropensci/foobar
  • Skim the docs of the pkgdown automatic deployment, in particular if your website needs MathJax.
  • Fix any links in badges for CI and coverage to point to the new repository URL.
  • Increment the package version to reflect the changes you made during review. In NEWS.md, add a heading for the new version and one bullet for each user-facing change, and each developer-facing change that you think is relevant.
  • We're starting to roll out software metadata files to all rOpenSci packages via the Codemeta initiative, see https://docs.ropensci.org/codemetar/ for how to include it in your package, after installing the package - should be easy as running codemetar::write_codemeta() in the root of your package.
  • You can add this installation method to your package README install.packages("<package-name>", repos = "https://ropensci.r-universe.dev") thanks to R-universe.

Should you want to acknowledge your reviewers in your package DESCRIPTION, you can do so by making them "rev"-type contributors in the Authors@R field (with their consent).

Welcome aboard! We'd love to host a post about your package - either a short introduction to it with an example for a technical audience or a longer post with some narrative about its development or something you learned, and an example of its use for a broader readership. If you are interested, consult the blog guide, and tag @ropensci/blog-editors in your reply. They will get in touch about timing and can answer any questions.

We maintain an online book with our best practice and tips, this chapter starts the 3d section that's about guidance for after onboarding (with advice on releases, package marketing, GitHub grooming); the guide also feature CRAN gotchas. Please tell us what could be improved.

Last but not least, you can volunteer as a reviewer via filling a short form.

@RWParsons
Copy link
Member Author

@ropensci-review-bot finalize transfer of GLMMcosinor

@ropensci-review-bot
Copy link
Collaborator

Transfer completed.
The GLMMcosinor team is now owner of the repository and the author has been invited to the team

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

7 participants