7  Development Version

Readers are strongly advised to update their packages from the Comprehensive R Archive Network (CRAN) as frequently as possible.

Listing 7.1: Update packages from CRAN
utils::update.packages()

To reproduce all examples in this Quarto book, readers must install the development versions of

  1. these packages (Listing 7.2) from Tingting Zhan’s Github repository;
  2. the spatstat.* family of packages (Listing 7.3) from spatstat Github repository.

by either of following approaches

Listing 7.2: Development versions of Tingting Zhan’s packages
tzhan. = c(
  'groupedHyperframe', 'groupedHyperframe.random', 
  'hyper.gam', 'maxEff'
)
tzhan = tzhan. |>
  sprintf(fmt = 'tingtingzhan/%s')
Listing 7.3: Development versions of spatstat.* packages (Baddeley and Turner 2005; Baddeley, Rubak, and Turner 2015)
spatstat. = c(
  'spatstat.data', 'spatstat.explore', 'spatstat.geom', 
  'spatstat.linnet', 'spatstat.model', 'spatstat.random',
  'spatstat.sparse', 'spatstat.univar', 'spatstat.utils',
  'spatstat'
)
spatstat = spatstat. |>
  sprintf(fmt = 'spatstat/%s')
Listing 7.4: Install Listing 7.2 and Listing 7.3 using package pak (Csárdi and Hester 2025)
c(spatstat, tzhan) |>
  lapply(FUN = pak::pak, ask = FALSE)
Listing 7.5: Install Listing 7.2 and Listing 7.3 using package remotes (Csárdi et al. 2024)
c(spatstat, tzhan) |>
  lapply(FUN = remotes::install_github, upgrade = 'always')

Listing 7.6 - Listing 7.7 track of the development versions of these packages (Listing 7.2) and the spatstat.* family of packages (Listing 7.3) on Github and the stable releases on CRAN.

Listing 7.6: Development version of these packages (Listing 7.2)
Code
cran = 'https://cran.r-project.org/web/packages/packages.rds' |>
  url() |> readRDS() |> # ?utils::available.packages does not get Date
  groupedHyperframe::rds2versiondate(pkg = tzhan., format = '%Y-%m-%d')
github = installed.packages(fields = 'Date') |> 
  groupedHyperframe::rds2versiondate(pkg = tzhan., format = '%Y-%m-%d')
merge.data.frame(
  x = cran, y = github, by = 'Package', sort = FALSE, 
  suffixes = c(' on CRAN (Stable)', ' on Github (Development)')) |> 
  knitr::kable(
    row.names = FALSE,
    caption = Sys.time() |> format(usetz = TRUE) |> 
      sprintf(fmt = 'Development version of *these packages* (%s)')
  )
Table 7.1: Development version of these packages (2026-02-12 10:37:03 EST)
Package Version on CRAN (Stable) Version on Github (Development)
groupedHyperframe 0.3.4 0.3.4
groupedHyperframe.random 0.2.2 0.2.2
hyper.gam 0.2.2 0.2.2
maxEff 0.2.2 0.2.2
Listing 7.7: Development version of spatstat.* family (Listing 7.3) ahead of CRAN
Code
cran = 'https://cran.r-project.org/web/packages/packages.rds' |>
  url() |> readRDS() |> # ?utils::available.packages does not get Date
  groupedHyperframe::rds2versiondate(pkg = spatstat., format = '%Y-%m-%d')
github = installed.packages(fields = 'Date') |> 
  groupedHyperframe::rds2versiondate(pkg = spatstat., format = '%Y-%m-%d')
merge.data.frame(
  x = cran, y = github, by = 'Package', sort = FALSE, 
  suffixes = c(' on CRAN (Stable)', ' on Github (Development)')
) |> 
  within.data.frame(expr = {
    Newer = ifelse(
      test = `Version on CRAN (Stable)` != `Version on Github (Development)`, 
      yes = '\u26a0', 
      no = ''
    )
  }) |>
  knitr::kable(
    row.names = FALSE,
    align = c('l', 'l', 'l', 'c'),
    caption = Sys.time() |> format(usetz = TRUE) |> 
      sprintf(fmt = 'Development version of `spatstat.*` family ahead of CRAN (%s)')
  )
Table 7.2: Development version of spatstat.* family ahead of CRAN (2026-02-12 10:37:05 EST)
Package Version on CRAN (Stable) Version on Github (Development) Newer
spatstat 3.5-1 🗓️ 2026-02-01 3.5-1 🗓️ 2026-02-01
spatstat.data 3.1-9 🗓️ 2025-10-18 3.1-9 🗓️ 2025-10-18
spatstat.explore 3.7-0 🗓️ 2026-01-22 3.7-0.004 🗓️ 2026-02-09
spatstat.geom 3.7-0 🗓️ 2026-01-20 3.7-0.006 🗓️ 2026-02-12
spatstat.linnet 3.4-1 🗓️ 2026-01-31 3.4-1 🗓️ 2026-01-31
spatstat.model 3.6-1 🗓️ 2026-01-29 3.6-1 🗓️ 2026-01-29
spatstat.random 3.4-4 🗓️ 2026-01-21 3.4-4 🗓️ 2026-01-21
spatstat.sparse 3.1-0 🗓️ 2024-06-21 3.1-0 🗓️ 2024-06-21
spatstat.univar 3.1-6 🗓️ 2026-01-17 3.1-6.002 🗓️ 2026-02-02
spatstat.utils 3.2-1 🗓️ 2026-01-08 3.2-1 🗓️ 2026-01-08