Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions .Rbuildignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,7 @@
^docs$
^pkgdown$
^cran-comments\.md$
^news\.md$
^codemeta\.json$
^CODE_OF_CONDUCT\.md$
^CODE_OF_CONDUCT\.html$

rebuild-long-running-vignettes.R
update_autodiff.sh
Expand Down
6 changes: 3 additions & 3 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ See our guide on [how to create a great issue](https://code-review.tidyverse.org

### Pull request process

* Fork the package and clone onto your computer. If you haven't done this before, we recommend using `usethis::create_from_github("LCBC-UiO/galamm", fork = TRUE)`.
* Fork the package and clone onto your computer. If you haven't done this before, we recommend using `usethis::create_from_github("ropensci/galamm", fork = TRUE)`.

* Install all development dependencies with `devtools::install_dev_deps()`, and then make sure the package passes R CMD check by running `devtools::check()`.
If R CMD check doesn't pass cleanly, it's a good idea to ask for help before continuing.
Expand All @@ -43,8 +43,8 @@ See our guide on [how to create a great issue](https://code-review.tidyverse.org
## Code of Conduct

Please note that the galamm project is released with a
[Contributor Code of Conduct](CODE_OF_CONDUCT.md). By contributing to this
project you agree to abide by its terms.
[Contributor Code of Conduct](https://ropensci.org/code-of-conduct/). By
contributing to this project you agree to abide by its terms.

## Roadmap

Expand Down
46 changes: 0 additions & 46 deletions .github/workflows/pkgdown.yaml

This file was deleted.

21 changes: 21 additions & 0 deletions .github/workflows/test-docs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# The pkgdown website for galamm is built centrally by rOpenSci and published
# at https://docs.ropensci.org/galamm/, so this package no longer deploys a
# site of its own. This workflow runs the very same build script that rOpenSci
# uses, so that problems with the documentation are caught here rather than
# after merging. The rendered site is stored as a build artifact.
#
# See https://github.com/ropensci-org/rotemplate/ for details.
on:
push:
branches: [main]
pull_request:
branches: [main]
workflow_dispatch:

name: Test-docs

jobs:
Test-docs:
runs-on: ubuntu-latest
steps:
- uses: ropensci-org/rotemplate@main
126 changes: 0 additions & 126 deletions CODE_OF_CONDUCT.md

This file was deleted.

6 changes: 3 additions & 3 deletions DESCRIPTION
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Package: galamm
Title: Generalized Additive Latent and Mixed Models
Version: 0.4.0
Version: 0.4.1
Authors@R: c(
person(given = "Øystein",
family = "Sørensen",
Expand Down Expand Up @@ -29,8 +29,8 @@ Description: Estimates generalized additive latent and
<doi:10.18637/jss.v067.i01>) and 'PLmixed' (Rockwood and Jeon (2019)
<doi:10.1080/00273171.2018.1516541>).
License: GPL (>= 3)
URL: https://github.com/LCBC-UiO/galamm, https://lcbc-uio.github.io/galamm/
BugReports: https://github.com/LCBC-UiO/galamm/issues
URL: https://docs.ropensci.org/galamm/, https://github.com/ropensci/galamm
BugReports: https://github.com/ropensci/galamm/issues
Encoding: UTF-8
Imports:
gratia,
Expand Down
23 changes: 22 additions & 1 deletion news.md → NEWS.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,25 @@
# galamm 0.3.0 (development versions)
# galamm 0.4.1

galamm has been peer reviewed and accepted by rOpenSci, and the repository has
moved to https://github.com/ropensci/galamm. This release contains the changes
made during and after that review. There are no changes to the user-facing
model fitting functions.

- All links to the source repository, including the continuous integration and
test coverage badges, now point to the repository under the rOpenSci
organization.
- The package website has moved to https://docs.ropensci.org/galamm/, and is
now built centrally by rOpenSci. All documentation links have been updated
accordingly, and the package no longer deploys a website of its own.
- The pkgdown configuration now requests MathJax explicitly, so that the
mathematical notation in the vignettes renders reliably on the new website.
- The bundled code of conduct has been removed, since rOpenSci's code of
conduct at https://ropensci.org/code-of-conduct/ now applies. The
contributing guidelines link to it instead.
- The README describes how to install development versions from the rOpenSci
R-universe.

# galamm 0.4.0

- Vignettes are updated to better demonstrate model checking possibilities.
- A qqmath() function has now been added, which makes quantile-quantile plots.
Expand Down
34 changes: 20 additions & 14 deletions README.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,14 @@ knitr::opts_chunk$set(
)
```

# Generalized Additive Latent and Mixed Models <a href="https://lcbc-uio.github.io/galamm/"><img src="man/figures/logo.png" align="right" height="139" alt="galamm website" /></a>
# Generalized Additive Latent and Mixed Models <a href="https://docs.ropensci.org/galamm/"><img src="man/figures/logo.png" align="right" height="139" alt="galamm website" /></a>

<!-- badges: start -->
[![CRAN status](https://www.r-pkg.org/badges/version/galamm)](https://cran.r-project.org/package=galamm)
[![Status at rOpenSci Software Peer Review](https://badges.ropensci.org/615_status.svg)](https://github.com/ropensci/software-review/issues/615)
[![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active)
[![R-CMD-check](https://github.com/LCBC-UiO/galamm/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/LCBC-UiO/galamm/actions/workflows/R-CMD-check.yaml)
[![Codecov test coverage](https://codecov.io/gh/LCBC-UiO/galamm/branch/main/graph/badge.svg)](https://app.codecov.io/gh/LCBC-UiO/galamm?branch=main)
[![R-CMD-check](https://github.com/ropensci/galamm/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/ropensci/galamm/actions/workflows/R-CMD-check.yaml)
[![Codecov test coverage](https://codecov.io/gh/ropensci/galamm/branch/main/graph/badge.svg)](https://app.codecov.io/gh/ropensci/galamm?branch=main)
<!-- badges: end -->

```{r srr-tags1, eval = FALSE, echo = FALSE}
Expand All @@ -47,20 +47,20 @@ Some typical usage examples include:
- Analyzing data with mixed response types, e.g., when a latent trait is measured with a combination of continuous and binary responses.
- Avoiding measurement error bias by utilizing replicate measurements of covariates of interest.

To get started, take a look at the [introductory vignette](https://lcbc-uio.github.io/galamm/articles/galamm.html).
To get started, take a look at the [introductory vignette](https://docs.ropensci.org/galamm/articles/galamm.html).

## What Can the Package Do?

Many applications, particularly in the social sciences, require modeling capabilities beyond what is easily supported and computationally feasible with popular R packages like [mgcv](https://cran.r-project.org/package=mgcv) [@woodGeneralizedAdditiveModels2017], [lavaan](https://lavaan.ugent.be/) [@rosseelLavaanPackageStructural2012], [lme4](https://cran.r-project.org/package=lme4) [@batesFittingLinearMixedEffects2015], and [OpenMx](https://openmx.ssri.psu.edu/) [@nealeOpenMxExtendedStructural2016], as well as the Stata based [GLLAMM](http://www.gllamm.org/) software [@rabe-heskethGeneralizedMultilevelStructural2004;@rabe-heskethMaximumLikelihoodEstimation2005]. In particular, to maximally utilize large datasets available today, it is typically necessary to combine tools from latent variable modeling, hierarchical modeling, and semiparametric estimation. While this is possible with Bayesian hierarchical models and tools like [Stan](https://mc-stan.org/), it requires considerable expertise and may be beyond scope for a single data analysis project.

The goal of galamm is to enable estimation of models with an arbitrary number of grouping levels, both crossed and hierarchical, and any combination of the following features (click the links to go to the relevant vignette):

- [Linear mixed models with factor structures](https://lcbc-uio.github.io/galamm/articles/lmm_factor.html).
- [Generalized linear mixed models with factor structures](https://lcbc-uio.github.io/galamm/articles/glmm_factor.html).
- [Linear mixed models with heteroscedastic residuals](https://lcbc-uio.github.io/galamm/articles/lmm_heteroscedastic.html).
- [Mixed models with mixed response types](https://lcbc-uio.github.io/galamm/articles/mixed_response.html).
- [Generalized additive mixed models with factor structures](https://lcbc-uio.github.io/galamm/articles/semiparametric.html).
- [Interactions between latent and observed covariates](https://lcbc-uio.github.io/galamm/articles/latent_observed_interaction.html).
- [Linear mixed models with factor structures](https://docs.ropensci.org/galamm/articles/lmm_factor.html).
- [Generalized linear mixed models with factor structures](https://docs.ropensci.org/galamm/articles/glmm_factor.html).
- [Linear mixed models with heteroscedastic residuals](https://docs.ropensci.org/galamm/articles/lmm_heteroscedastic.html).
- [Mixed models with mixed response types](https://docs.ropensci.org/galamm/articles/mixed_response.html).
- [Generalized additive mixed models with factor structures](https://docs.ropensci.org/galamm/articles/semiparametric.html).
- [Interactions between latent and observed covariates](https://docs.ropensci.org/galamm/articles/latent_observed_interaction.html).

```{r srr-tags2, eval = FALSE, echo = FALSE}
#' @srrstats {G1.6} Code for comparing the performance of galamm to the of PLmixed for example models is provided in the vignette on linear mixed models with factor structures.
Expand All @@ -69,7 +69,7 @@ The goal of galamm is to enable estimation of models with an arbitrary number of

Random effects are defined using [lme4](https://cran.r-project.org/package=lme4) syntax, and the syntax for factor structures are close to that of [PLmixed](https://cran.r-project.org/package=PLmixed) [@rockwoodEstimatingComplexMeasurement2019]. However, for the types of models supported by both PLmixed and galamm, galamm is usually considerably faster. Smooth terms, as in generalized additive mixed models, use the same syntax as [mgcv](https://cran.r-project.org/package=mgcv).

For most users, it should not be necessary to think about how the actual computations are performed, although they are detailed in the [optimization vignette](https://lcbc-uio.github.io/galamm/articles/optimization.html). In short, the core computations are done using sparse matrix methods supported by [RcppEigen](https://cran.r-project.org/package=RcppEigen) [@batesFastElegantNumerical2013] and automatic differentiation using the C++ library [autodiff](https://autodiff.github.io/) [@lealAutodiffModernFast2018]. Scaling of the algorithm is investigated further in [the vignette on computational scaling](https://lcbc-uio.github.io/galamm/articles/scaling.html).
For most users, it should not be necessary to think about how the actual computations are performed, although they are detailed in the [optimization vignette](https://docs.ropensci.org/galamm/articles/optimization.html). In short, the core computations are done using sparse matrix methods supported by [RcppEigen](https://cran.r-project.org/package=RcppEigen) [@batesFastElegantNumerical2013] and automatic differentiation using the C++ library [autodiff](https://autodiff.github.io/) [@lealAutodiffModernFast2018]. Scaling of the algorithm is investigated further in [the vignette on computational scaling](https://docs.ropensci.org/galamm/articles/scaling.html).

## Installation

Expand All @@ -79,11 +79,17 @@ Install the package from CRAN using
install.packages("galamm")
```

You can install the development version of galamm from [GitHub](https://github.com/) with:
You can install the development version of galamm from the [rOpenSci R-universe](https://ropensci.r-universe.dev/galamm) using

``` r
install.packages("galamm", repos = c("https://ropensci.r-universe.dev", "https://cloud.r-project.org"))
```

or from [GitHub](https://github.com/) with:

``` r
# install.packages("remotes")
remotes::install_github("LCBC-UiO/galamm")
remotes::install_github("ropensci/galamm")
```

## Examples
Expand Down Expand Up @@ -171,6 +177,6 @@ Some parts of the code base for galamm has been derived from internal functions

## Contributing

Contributions are very welcome, see [CONTRIBUTING.md](https://github.com/LCBC-UiO/galamm/blob/main/.github/CONTRIBUTING.md) for general guidelines.
Contributions are very welcome, see [CONTRIBUTING.md](https://github.com/ropensci/galamm/blob/main/.github/CONTRIBUTING.md) for general guidelines.

## References
Loading
Loading