Skip to content

Commit

Permalink
Merge pull request #49 from rpact-com/dev/4.0.1
Browse files Browse the repository at this point in the history
rhub workflow file added
fpahlke authored Aug 21, 2024

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
2 parents ea3a28d + 9795e41 commit 0187716
Showing 12 changed files with 172 additions and 44 deletions.
1 change: 1 addition & 0 deletions .Rbuildignore
Original file line number Diff line number Diff line change
@@ -49,3 +49,4 @@ testthat-problems\.rds
^README\.html$
^codecov\.yml$
Rplots\.pdf
^\.lintr$
95 changes: 95 additions & 0 deletions .github/workflows/rhub.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
# R-hub's generic GitHub Actions workflow file. It's canonical location is at
# https://github.com/r-hub/actions/blob/v1/workflows/rhub.yaml
# You can update this file to a newer version using the rhub2 package:
#
# rhub::rhub_setup()
#
# It is unlikely that you need to modify this file manually.

name: R-hub
run-name: "${{ github.event.inputs.id }}: ${{ github.event.inputs.name || format('Manually run by {0}', github.triggering_actor) }}"

on:
workflow_dispatch:
inputs:
config:
description: 'A comma separated list of R-hub platforms to use.'
type: string
default: 'linux,windows,macos'
name:
description: 'Run name. You can leave this empty now.'
type: string
id:
description: 'Unique ID. You can leave this empty now.'
type: string

jobs:

setup:
runs-on: ubuntu-latest
outputs:
containers: ${{ steps.rhub-setup.outputs.containers }}
platforms: ${{ steps.rhub-setup.outputs.platforms }}

steps:
# NO NEED TO CHECKOUT HERE
- uses: r-hub/actions/setup@v1
with:
config: ${{ github.event.inputs.config }}
id: rhub-setup

linux-containers:
needs: setup
if: ${{ needs.setup.outputs.containers != '[]' }}
runs-on: ubuntu-latest
name: ${{ matrix.config.label }}
strategy:
fail-fast: false
matrix:
config: ${{ fromJson(needs.setup.outputs.containers) }}
container:
image: ${{ matrix.config.container }}

steps:
- uses: r-hub/actions/checkout@v1
- uses: r-hub/actions/platform-info@v1
with:
token: ${{ secrets.RHUB_TOKEN }}
job-config: ${{ matrix.config.job-config }}
- uses: r-hub/actions/setup-deps@v1
with:
token: ${{ secrets.RHUB_TOKEN }}
job-config: ${{ matrix.config.job-config }}
- uses: r-hub/actions/run-check@v1
with:
token: ${{ secrets.RHUB_TOKEN }}
job-config: ${{ matrix.config.job-config }}

other-platforms:
needs: setup
if: ${{ needs.setup.outputs.platforms != '[]' }}
runs-on: ${{ matrix.config.os }}
name: ${{ matrix.config.label }}
strategy:
fail-fast: false
matrix:
config: ${{ fromJson(needs.setup.outputs.platforms) }}

steps:
- uses: r-hub/actions/checkout@v1
- uses: r-hub/actions/setup-r@v1
with:
job-config: ${{ matrix.config.job-config }}
token: ${{ secrets.RHUB_TOKEN }}
- uses: r-hub/actions/platform-info@v1
with:
token: ${{ secrets.RHUB_TOKEN }}
job-config: ${{ matrix.config.job-config }}
- uses: r-hub/actions/setup-deps@v1
with:
job-config: ${{ matrix.config.job-config }}
token: ${{ secrets.RHUB_TOKEN }}
- uses: r-hub/actions/run-check@v1
with:
job-config: ${{ matrix.config.job-config }}
token: ${{ secrets.RHUB_TOKEN }}
4 changes: 2 additions & 2 deletions DESCRIPTION
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Package: rpact
Title: Confirmatory Adaptive Clinical Trial Design and Analysis
Version: 4.0.1.9247
Date: 2024-08-15
Version: 4.0.1.9248
Date: 2024-08-21
Authors@R: c(
person(
given = "Gernot",
1 change: 1 addition & 0 deletions NAMESPACE
Original file line number Diff line number Diff line change
@@ -104,6 +104,7 @@ export(getSampleSizeCounts)
export(getSampleSizeMeans)
export(getSampleSizeRates)
export(getSampleSizeSurvival)
export(getSimulationCounts)
export(getSimulationEnrichmentMeans)
export(getSimulationEnrichmentRates)
export(getSimulationEnrichmentSurvival)
17 changes: 8 additions & 9 deletions R/class_summary.R
Original file line number Diff line number Diff line change
@@ -13,8 +13,8 @@
## |
## | Contact us for information about our services: [email protected]
## |
## | File version: $Revision: 8087 $
## | Last changed: $Date: 2024-08-15 16:34:30 +0200 (Do, 15 Aug 2024) $
## | File version: $Revision: 8111 $
## | Last changed: $Date: 2024-08-20 14:20:14 +0200 (Di, 20 Aug 2024) $
## | Last changed by: $Author: pahlke $
## |

@@ -1641,20 +1641,19 @@ SummaryFactory <- R6::R6Class("SummaryFactory",
return(header)
}

.addAlphaAndBetaToHeader <- function(header, design, designPlan, ..., endOfRecord = FALSE, powerEnabled = NA) {
header <- .concatenateSummaryText(header, paste0(
ifelse(design$sided == 1, "one-sided", "two-sided"),
ifelse(design$kMax == 1, "", " overall")
))
.addAlphaAndBetaToHeader <- function(header, design, designPlan, ..., endOfRecord = FALSE, powerEnabled = NA, sep = ", ") {
if (is.na(powerEnabled)) {
powerEnabled <- .isTrialDesignInverseNormalOrGroupSequential(design) &&
(is.null(designPlan) || (!.isSimulationResults(designPlan) &&
!identical("power", designPlan[[".objectType"]])))
}
header <- .concatenateSummaryText(header,
paste0("significance level ", round(100 * design$alpha, 2), "%",
paste0(
ifelse(design$sided == 1, "one-sided", "two-sided"),
ifelse(design$kMax == 1, "", " overall"),
" significance level ", round(100 * design$alpha, 2), "%",
ifelse(!powerEnabled && endOfRecord, ".", "")),
sep = " "
sep = sep
)
if (powerEnabled) {
header <- .concatenateSummaryText(header,
8 changes: 4 additions & 4 deletions R/f_design_general_utilities.R
Original file line number Diff line number Diff line change
@@ -13,8 +13,8 @@
## |
## | Contact us for information about our services: [email protected]
## |
## | File version: $Revision: 8087 $
## | Last changed: $Date: 2024-08-15 16:34:30 +0200 (Do, 15 Aug 2024) $
## | File version: $Revision: 8104 $
## | Last changed: $Date: 2024-08-19 10:30:01 +0200 (Mo, 19 Aug 2024) $
## | Last changed by: $Author: pahlke $
## |

@@ -27,7 +27,7 @@ NULL
}

.getDefaultDesign <- function(...,
type = c("sampleSize", "power", "simulation", "analysis", "characteristics"),
type = c("sampleSize", "power", "simulation", "simulationCounts", "analysis", "characteristics"),
ignore = c()) {
type <- match.arg(type)

@@ -54,7 +54,7 @@ NULL

twoSidedPower <- .getOptionalArgument("twoSidedPower", ...)
if (is.null(twoSidedPower)) {
if (type %in% c("power", "simulation") && sided == 2) {
if (type %in% c("power", "simulation", "simulationCounts") && sided == 2) {
twoSidedPower <- TRUE
} else {
twoSidedPower <- C_TWO_SIDED_POWER_DEFAULT
16 changes: 10 additions & 6 deletions R/f_design_group_sequential.R
Original file line number Diff line number Diff line change
@@ -13,9 +13,9 @@
## |
## | Contact us for information about our services: [email protected]
## |
## | File version: $Revision: 7742 $
## | Last changed: $Date: 2024-03-22 13:46:29 +0100 (Fr, 22 Mrz 2024) $
## | Last changed by: $Author: pahlke $
## | File version: $Revision: 8112 $
## | Last changed: $Date: 2024-08-20 15:44:53 +0200 (Di, 20 Aug 2024) $
## | Last changed by: $Author: wassmer $
## |

#' @include f_core_constants.R
@@ -38,9 +38,9 @@ NULL
#' Given a sequence of information rates (fixing the correlation structure), and
#' decisionMatrix with either 2 or 4 rows and kMax = length(informationRates) columns,
#' this function calculates a probability matrix containing, for two rows, the probabilities:\cr
#' P(Z_1 <- l_1), P(l_1 <- Z_1 < u_1, Z_2 < l_1),..., P(l_kMax-1 <- Z_kMax-1 < u_kMax-1, Z_kMax < l_l_kMax)\cr
#' P(Z_1 <- u_1), P(l_1 <- Z_1 < u_1, Z_2 < u_1),..., P(l_kMax-1 <- Z_kMax-1 < u_kMax-1, Z_kMax < u_l_kMax)\cr
#' P(Z_1 <- Inf), P(l_1 <- Z_1 < u_1, Z_2 < Inf),..., P(l_kMax-1 <- Z_kMax-1 < u_kMax-1, Z_kMax < Inf)\cr
#' P(Z_1 < l_1), P(l_1 < Z_1 < u_1, Z_2 < l_2),..., P(l_kMax-1 < Z_kMax-1 < u_kMax-1, Z_kMax < l_l_kMax)\cr
#' P(Z_1 < u_1), P(l_1 < Z_1 < u_1, Z_2 < u_2),..., P(l_kMax-1 < Z_kMax-1 < u_kMax-1, Z_kMax < u_l_kMax)\cr
#' P(Z_1 < Inf), P(l_1 < Z_1 < u_1, Z_2 < Inf),..., P(l_kMax-1 < Z_kMax-1 < u_kMax-1, Z_kMax < Inf)\cr
#' with continuation matrix\cr
#' l_1,...,l_kMax\cr
#' u_1,...,u_kMax\cr
@@ -423,6 +423,10 @@ getGroupSequentialProbabilities <- function(decisionMatrix, informationRates) {
.getDesignGroupSequentialKMax1 <- function(design) {
design$criticalValues <- .getOneMinusQNorm(design$alpha / design$sided)
design$alphaSpent[1] <- design$alpha
design$.setParameterType("typeOfDesign", C_PARAM_NOT_APPLICABLE)
if (!identical(design$typeOfDesign, C_DEFAULT_TYPE_OF_DESIGN)) {
warning("'typeOfDesign' (", design$typeOfDesign, ") will be ignored because design is fixed", call. = FALSE)
}
return(invisible(design))
}

24 changes: 11 additions & 13 deletions R/f_simulation_base_count_data.R
Original file line number Diff line number Diff line change
@@ -13,9 +13,9 @@
## |
## | Contact us for information about our services: [email protected]
## |
## | File version: $Revision: 8052 $
## | Last changed: $Date: 2024-07-18 11:19:40 +0200 (Do, 18 Jul 2024) $
## | Last changed by: $Author: pahlke $
## | File version: $Revision: 8112 $
## | Last changed: $Date: 2024-08-20 15:44:53 +0200 (Di, 20 Aug 2024) $
## | Last changed by: $Author: wassmer $
## |

.getInformationCountData <- function(lambda1,
@@ -101,18 +101,14 @@
#' @inheritParams param_accrualTime_counts
#' @inheritParams param_accrualIntensity_counts
#' @inheritParams param_followUpTime_counts
#' @inheritParams param_maxNumberOfSubjects
#' @inheritParams param_overdispersion_counts
#' @inheritParams param_directionUpper
#' @inheritParams param_allocationRatioPlanned
#' @inheritParams param_plannedSubjects
#' @inheritParams param_minNumberOfSubjectsPerStage
#' @inheritParams param_maxNumberOfSubjectsPerStage
#' @inheritParams param_conditionalPowerSimulation
#' @inheritParams param_maxNumberOfSubjects_counts
#' @inheritParams param_maxNumberOfIterations
#' @inheritParams param_calcSubjectsFunction
#' @inheritParams param_seed
#' @inheritParams param_three_dots
#' @inheritParams param_calcSubjectsFunction
#' @inheritParams param_showStatistics
#'
#' @details
@@ -156,8 +152,10 @@
#'
#' @template return_object_simulation_results
#' @template how_to_get_help_for_generics
#'
#' @template examples_get_simulation_counts
#'
#' @keywords internal
#' @export
#'
getSimulationCounts <- function(design = NULL,
...,
@@ -183,7 +181,7 @@ getSimulationCounts <- function(design = NULL,
directionUpper <- TRUE
}
if (is.null(design)) {
design <- .getDefaultDesign(..., type = "simulation")
design <- .getDefaultDesign(..., type = "simulationCounts")
.warnInCaseOfUnknownArguments(
functionName = "getSimulationCounts",
ignore = .getDesignArgumentsToIgnoreAtUnknownArgumentCheck(
@@ -192,7 +190,7 @@ getSimulationCounts <- function(design = NULL,
)
)
} else {
.assertIsTrialDesign(design)
.assertIsTrialDesignGroupSequential(design)
.warnInCaseOfUnknownArguments(
functionName = "getSimulationCounts",
ignore = c("showStatistics"), ...
@@ -426,7 +424,7 @@ getSimulationCounts <- function(design = NULL,
dfStartStop$output[, "recruitTime"] <= plannedCalendarTime[k] &
dfStartStop$output[, "stopCalendar"] <= plannedCalendarTime[k],
]
if (length(kthStageWithEvents) > 0 && nrow(kthStageWithEvents) > 0) {
if (length(kthStageWithEvents) > 0 && is.matrix(kthStageWithEvents) && nrow(kthStageWithEvents) > 0) {
tab <- table(kthStageWithEvents[, "id"])
idx <- as.integer(names(tab))
counts[idx] <- as.vector(tab)
12 changes: 8 additions & 4 deletions R/parameter_descriptions.R
Original file line number Diff line number Diff line change
@@ -13,9 +13,9 @@
## |
## | Contact us for information about our services: [email protected]
## |
## | File version: $Revision: 7941 $
## | Last changed: $Date: 2024-05-28 08:44:36 +0200 (Di, 28 Mai 2024) $
## | Last changed by: $Author: pahlke $
## | File version: $Revision: 8112 $
## | Last changed: $Date: 2024-08-20 15:44:53 +0200 (Di, 20 Aug 2024) $
## | Last changed by: $Author: wassmer $
## |

#' Parameter Description: "..."
@@ -344,7 +344,11 @@ NULL
#' @keywords internal
NULL


#' Parameter Description: plannedMaxSubjects for Counts
#' @param plannedMaxSubjects \code{plannedMaxSubjects > 0} needs to be specified.
#' @name param_maxNumberOfSubjects_counts
#' @keywords internal
NULL

##
## Analysis
4 changes: 2 additions & 2 deletions inst/doc/rpact_getting_started.html
Original file line number Diff line number Diff line change
@@ -12,7 +12,7 @@

<meta name="author" content="Friedrich Pahlke and Gernot Wassmer" />

<meta name="date" content="2024-08-15" />
<meta name="date" content="2024-08-19" />

<title>Getting started with rpact</title>

@@ -239,7 +239,7 @@

<h1 class="title toc-ignore">Getting started with rpact</h1>
<h4 class="author">Friedrich Pahlke and Gernot Wassmer</h4>
<h4 class="date">2024-08-15</h4>
<h4 class="date">2024-08-19</h4>



6 changes: 3 additions & 3 deletions man/getGroupSequentialProbabilities.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

28 changes: 27 additions & 1 deletion man/getSimulationCounts.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 0187716

Please sign in to comment.