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
2 changes: 1 addition & 1 deletion NEWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
## Initial Public Release

This is the first publicly available version of **randomforge**, released as an
early-stage foundation for the emerging *RandomForge* ecosystem
early-stage foundation for the emerging **randomforge** ecosystem
("Innovating the Future of Randomization").

The 0.1.0 release focuses on establishing the architectural core and enabling
Expand Down
2 changes: 1 addition & 1 deletion R/pkgname.R
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
#' The package aims to support a broad range of classical,
#' covariate-adaptive, and response-adaptive techniques while
#' enabling reproducibility, auditability, and methodological clarity.
#' Built as part of the open RandomForge initiative ("Innovating the
#' Built as part of the open *randomforge* initiative ("Innovating the
Copy link

Copilot AI Nov 25, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] Inconsistent branding formatting. The branding is formatted as italics *randomforge* here, but elsewhere in this PR it's formatted as bold **randomforge** (e.g., README.md line 12, NEWS.md line 6).

For consistency, use the same formatting convention throughout. Recommendation: Use bold **randomforge** when referring to the initiative/brand, and code formatting `randomforge` when referring to the R package.

Suggested change
#' Built as part of the open *randomforge* initiative ("Innovating the
#' Built as part of the open **randomforge** initiative ("Innovating the

Copilot uses AI. Check for mistakes.
#' Future of Randomization"), the package encourages community
#' collaboration, modular extensions, and contributions from academia,
#' industry, and clinical researchers.
Expand Down
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# randomforge

**RandomForge — Innovating the Future of Randomization**
**randomforge — Innovating the Future of Randomization**

`randomforge` is an open, extensible framework for clinical trial
randomization methods in R.
Expand All @@ -9,7 +9,7 @@ randomization procedures, starting with a flexible implementation of
**permuted block randomization** and designed to grow into a broader ecosystem
of randomization methods.

This package is the core engine of the wider **RandomForge** initiative:
This package is the core engine of the wider **randomforge** initiative:
a community-driven effort to innovate the future of clinical trial
randomization.

Expand All @@ -23,7 +23,7 @@ Yet many tools currently in use are:
- opaque in how assignments are generated,
- and not designed for collaborative innovation.

**RandomForge** aims to change this by providing an open, shared infrastructure
**randomforge** aims to change this by providing an open, shared infrastructure
for randomization methods – where ideas can grow into trusted, well-documented
and practically usable methods, developed together by the community.

Expand Down Expand Up @@ -62,7 +62,7 @@ response-adaptive procedures).
## 🚀 Planned Extensions

While the current release focuses on permuted block randomization, the
RandomForge initiative is designed to cover a much wider range of techniques
**randomforge** initiative is designed to cover a much wider range of techniques
over time, including (but not limited to):

- baseline-adaptive and covariate-adaptive methods (e.g. minimization),
Expand Down
43 changes: 21 additions & 22 deletions vignettes/randomforge_contribution.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@ knitr::opts_chunk$set(
)
```

# Introduction
## Introduction

**RandomForge — An Open Project for Clinical Trial Randomization in R**
**randomforge — An Open Project for Clinical Trial Randomization in R**

`randomforge` is a newly started, open-source project on GitHub that aims to
provide a clean and transparent implementation of clinical trial randomization
Expand All @@ -38,7 +38,7 @@ This vignette explains how to:
3. Use GitHub effectively even if you are new to it


# 1. Installing randomforge and running a simple randomization
## Installing randomforge and running a simple randomization

At this stage, the package is not yet on CRAN.
You can install the development version directly from GitHub:
Expand Down Expand Up @@ -78,8 +78,7 @@ blockSizes <- getBlockSizes(config$treatmentArmIds, 8)

# Create a permuted block randomization method
randomMethodPBR <- getRandomMethodPBR(
blockSizes = blockSizes,
fixedBlockDesignEnabled = FALSE
blockSizes = blockSizes
)

# Create a random allocation value service
Expand All @@ -88,12 +87,12 @@ ravService$createNewRandomAllocationValues(config)

# Create a few randomization results
resultList <- lapply(1:8, function(i) {
getNextRandomResult(
suppressMessages(getNextRandomResult(
randomDataBase = randomDataBase,
randomProject = randomProject,
randomMethod = randomMethodPBR,
randomAllocationValueService = ravService
)
))
})

# Convert results to a data frame
Expand All @@ -102,7 +101,7 @@ randomDataBase |>
knitr::kable()
```

# 2. How to contribute to randomforge
## How to contribute to randomforge

Contributions of all kinds are welcome:

Expand All @@ -118,7 +117,7 @@ get involved.
We are happy to support new contributors.


# 3. Option A: Get invited as a direct contributor
### Option A: Get invited as a direct contributor

If you prefer not to deal with forks or pull requests, you can simply request
to be added as a contributor to the GitHub repository.
Expand All @@ -137,24 +136,24 @@ Once added, you will be able to push branches and open pull requests directly
in the main repository.


# 4. Option B: Contribute via Fork (recommended for most users)
### Option B: Contribute via Fork (recommended for most users)
Copy link

Copilot AI Nov 25, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The heading structure is inconsistent with the introduction (lines 34-38). The introduction mentions three main topics:

  1. Install and try the package
  2. Contribute to the project
  3. Use GitHub effectively

However, "Option A" and "Option B" are now level-3 headings (###) under "## How to contribute to randomforge", which makes them appear as subsections of topic 2. Since Option B explicitly covers "Use GitHub effectively" (topic 3), these should either be:

  • Level-2 headings (##) to match the structure suggested in the introduction, or
  • The introduction should be updated to reflect that topics 2 and 3 are combined under "How to contribute"

Consider changing these to ## Option A:... and ## Option B:... to maintain consistency with the introductory list.

Suggested change
### Option B: Contribute via Fork (recommended for most users)
## Option B: Contribute via Fork (recommended for most users)

Copilot uses AI. Check for mistakes.

If you are not familiar with GitHub contribution workflows, here is a simple
step-by-step guide.

## Step 1 — Create a GitHub account
#### Step 1 — Create a GitHub account
If you do not already have one, register at
https://github.com

## Step 2 — Open the randomforge repository
#### Step 2 — Open the randomforge repository
Navigate to:
https://github.com/RCONIS/randomforge

## Step 3 — Click “Fork”
#### Step 3 — Click “Fork”
The button is in the upper-right corner.
This creates *your own copy* of the repository under your GitHub account.

## Step 4 — Clone your fork to your local machine
#### Step 4 — Clone your fork to your local machine

```bash
git clone https://github.com/YOUR_USERNAME/randomforge.git
Expand All @@ -166,29 +165,29 @@ Then:
cd randomforge
```

## Step 5 — Create a new branch for your change
#### Step 5 — Create a new branch for your change

```bash
git checkout -b my-feature-branch
```

## Step 6 — Make your changes locally
#### Step 6 — Make your changes locally
Edit R files, documentation, tests, examples, or vignettes.

## Step 7 — Commit your changes
#### Step 7 — Commit your changes

```bash
git add .
git commit -m "Add new feature / fix / improvement"
```

## Step 8 — Push your branch to your fork
#### Step 8 — Push your branch to your fork

```bash
git push origin my-feature-branch
```

## Step 9 — Open a Pull Request
#### Step 9 — Open a Pull Request
Go back to your fork on GitHub and click:

**“Compare & pull request”**
Expand All @@ -202,7 +201,7 @@ In the Pull Request description, please provide:
We will review all contributions as soon as possible.


# 5. Getting help
## Getting help

If you get stuck at any point — GitHub workflow, code questions, architecture
discussion — feel free to:
Expand All @@ -214,8 +213,8 @@ All questions are welcome, especially from newcomers.
We want to make contributing as easy and friendly as possible.


# 6. Thank you
## Thank you

We appreciate your interest in contributing to the RandomForge project.
We appreciate your interest in contributing to the *randomforge* project.
Copy link

Copilot AI Nov 25, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] Inconsistent branding formatting. Throughout the PR, "randomforge" is formatted in different ways:

  • As italics *randomforge* (line 36 in R/pkgname.R, line 218 here)
  • As bold **randomforge** (lines 3, 12, 26, 65 in README.md, line 6 in NEWS.md)
  • As plain code `randomforge` in most other places

For consistency across the codebase, establish a single formatting convention. Recommendation: Use bold **randomforge** when referring to the initiative/brand, and code formatting `randomforge` when referring to the R package.

Suggested change
We appreciate your interest in contributing to the *randomforge* project.
We appreciate your interest in contributing to the **randomforge** project.

Copilot uses AI. Check for mistakes.
Your ideas and contributions help shape a more open, transparent, and
community-driven future for clinical trial randomization in R.
22 changes: 11 additions & 11 deletions vignettes/randomforge_getting_started.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ knitr::opts_chunk$set(
)
```

# Introduction
## Introduction

`randomforge` is an open-source R package providing a transparent and modular
framework for clinical trial randomization.
Expand All @@ -28,7 +28,7 @@ If you are new to randomization frameworks or want a minimal working example,
this is a good place to start.


# Installation
## Installation

At this stage, `randomforge` is available only on GitHub:

Expand All @@ -38,7 +38,7 @@ At this stage, `randomforge` is available only on GitHub:
remotes::install_github("RCONIS/randomforge")
```

# Creating a Randomization Project
## Creating a Randomization Project

Every workflow begins with a `RandomProject` stored inside an in-memory
`RandomDataBase`:
Expand All @@ -59,7 +59,7 @@ randomDataBase$persist(randomProject)
A project groups all configurations, subjects, and resulting allocations.


# Defining a Randomization Configuration
## Defining a Randomization Configuration

A configuration defines:

Expand All @@ -86,7 +86,7 @@ randomDataBase$persist(config)
```


# Creating a Block Randomization Method
## Creating a Block Randomization Method

`randomforge` currently supports **permuted block randomization** (PBR) as a
fully working implementation.
Expand All @@ -108,7 +108,7 @@ randomMethodPBR <- getRandomMethodPBR(
)
```

# Create a Random Allocation Value Service
## Create a Random Allocation Value Service

```{r}
# Create a random allocation value service
Expand All @@ -125,7 +125,7 @@ ravService |>

Other key performance indicators are planned for future releases.

# Running Randomization
## Running Randomization

To generate assignments, create a random allocation value service, then call
`getNextRandomResult()`.
Expand All @@ -147,7 +147,7 @@ ravService |>
plot()
```

# Inspecting the Results
## Inspecting the Results

All subjects and allocations stored in the database can be displayed as a data
frame:
Expand All @@ -168,7 +168,7 @@ resultData |>
knitr::kable()
```

# Exporting to Excel (Optional)
## Exporting to Excel (Optional)

`randomforge` supports exporting subject lists or randomization results via
`writeExcelFile()`:
Expand All @@ -179,7 +179,7 @@ writeExcelFile(resultData, "randomization_list.xlsx")
```


# What’s Next?
## What’s Next?

The project is in an early phase, and many extensions are planned:

Expand All @@ -194,7 +194,7 @@ To learn how to contribute, see the vignette:
**`vignette("randomforge_contribution")`**


# Thank You
## Thank You

We hope this vignette helps you get started with `randomforge`.
Feedback and suggestions are very welcome via GitHub issues.