The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

dunlin: Tools for Clinical Trial Data Wrangling

Check 🛠 Docs 📚 Code Coverage 📔

GitHub forks GitHub repo stars

GitHub commit activity GitHub contributors GitHub last commit GitHub pull requests GitHub repo size GitHub language count Project Status: Active – The project has reached a stable, usable state and is being actively developed. Current Version Open Issues

dunlin provides a variety of data tools to reformat and manipulate a subset of the tables in a data set.

Installation

install.packages("dunlin", repos = c("https://insightsengineering.r-universe.dev", getOption("repos")))

# install.packages("pak")
pak::pak("insightsengineering/dunlin@*release")

Alternatively, you might also use the development version.

install.packages("dunlin", repos = c("https://pharmaverse.r-universe.dev", getOption("repos")))

# install.packages("pak")
pak::pak("insightsengineering/dunlin")

Usage

library(dunlin)

df1 <- data.frame(
  "id" = c("a", "b", NA, "a", "k", "x"),
  "id2" = factor(c("f1", "f2", NA, NA, "f1", "f1")),
  "val" = letters[1:6]
)
df2 <- data.frame(
  "id" = c("a", "b", NA, "a", "k", "x"),
  "id2" = factor(c("f1", "f2", NA, NA, "f1", "f1")),
  "num" = 1:6
)

db <- list(df1 = df1, df2 = df2)

prop_db <- propagate(db, "df1", "val", c("id", "id2"))

which returns prop_db as

 $df1
    id  id2 val
1    a   f1   a
2    b   f2   b
3 <NA> <NA>   c
4    a <NA>   d
5    k   f1   e
6    x   f1   f

$df2
    id  id2 num val
1    a   f1   1   a
2    b   f2   2   b
3 <NA> <NA>   3   c
4    a <NA>   4   d
5    k   f1   5   e
6    x   f1   6   f
new_format <- list(
  df1 = list(
    id = rule("No ID available" = c("", NA, "<Missing>")),
    id2 = rule("<Missing>" = c("", NA, "<Missing>"))
  )
)

res <- dunlin::reformat(prop_db, new_format, .na_last = TRUE)

which result in res as

$df1
               id       id2 val
1               a        f1   a
2               b        f2   b
3 No ID available <Missing>   c
4               a <Missing>   d
5               k        f1   e
6               x        f1   f

$df2
    id  id2 num val
1    a   f1   1   a
2    b   f2   2   b
3 <NA> <NA>   3   c
4    a <NA>   4   d
5    k   f1   5   e
6    x   f1   6   f

Stargazers and Forkers

Stargazers over time

Stargazers over time

Stargazers

Stargazers repo roster for dunlin

Forkers repo roster for dunlin

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.