Skip to content

Commit 12a59b7

Browse files
committed
Add comments
1 parent 87059f9 commit 12a59b7

File tree

1 file changed

+25
-26
lines changed

1 file changed

+25
-26
lines changed

R/gs_info_ahr.R

Lines changed: 25 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -90,20 +90,24 @@ gs_info_ahr <- function(
9090
hr = c(.9, .6),
9191
dropout_rate = .001
9292
),
93-
ratio = 1, # experimental:Control randomization ratio
94-
event = NULL, # event at analyses
95-
analysis_time = NULL, # times of analyses
93+
ratio = 1,
94+
event = NULL,
95+
analysis_time = NULL,
9696
interval = c(.01, 1000)) {
97-
# Check input values ----
97+
# -------------------------- #
98+
# Check input values #
99+
# -------------------------- #
98100
check_enroll_rate(enroll_rate)
99101
check_fail_rate(fail_rate)
100102
check_enroll_rate_fail_rate(enroll_rate, fail_rate)
101103

104+
# at least one of `analysis_time` or `event` should be provided
102105
if (is.null(analysis_time) && is.null(event)) {
103106
stop("gs_info_ahr(): One of `event` and `analysis_time`
104107
must be a numeric value or vector with increasing values")
105108
}
106109

110+
# get the number of analyses
107111
n_analysis <- 0
108112
if (!is.null(analysis_time)) {
109113
check_analysis_time(analysis_time)
@@ -120,42 +124,37 @@ gs_info_ahr <- function(
120124
}
121125
}
122126

123-
# Check input values ----
127+
# -------------------------- #
128+
# Calc statistical info #
129+
# -------------------------- #
124130
avehr <- NULL
125131
if (!is.null(analysis_time)) {
126-
# calculate AHR, Events, info, info0 given the analysis_time
127-
avehr <- ahr(
128-
enroll_rate = enroll_rate, fail_rate = fail_rate,
129-
ratio = ratio, total_duration = analysis_time
130-
) |> select(-n)
131-
# check if the output Events is larger enough than the targeted events
132+
# calculate events given the `analysis_time`
133+
avehr <- ahr(enroll_rate = enroll_rate, fail_rate = fail_rate,
134+
ratio = ratio, total_duration = analysis_time) |> select(-n)
135+
# check if the above events >= targeted events
132136
for (i in seq_along(event)) {
133137
if (avehr$event[i] < event[i]) {
134-
avehr[i, ] <- expected_time(
135-
enroll_rate = enroll_rate, fail_rate = fail_rate,
136-
ratio = ratio, target_event = event[i],
137-
interval = interval
138-
)
138+
avehr[i, ] <- expected_time(enroll_rate = enroll_rate, fail_rate = fail_rate,
139+
ratio = ratio, target_event = event[i],
140+
interval = interval)
139141
}
140142
}
141143
} else {
142144
for (i in seq_along(event)) {
143-
avehr <- rbind(
144-
avehr,
145-
expected_time(
146-
enroll_rate = enroll_rate, fail_rate = fail_rate,
147-
ratio = ratio, target_event = event[i],
148-
interval = interval
149-
)
150-
)
145+
avehr <- rbind(avehr,
146+
expected_time(enroll_rate = enroll_rate, fail_rate = fail_rate,
147+
ratio = ratio, target_event = event[i],
148+
interval = interval))
151149
}
152150
}
153151

154-
# Compute theta ----
152+
# -------------------------- #
153+
# Tidy outputs #
154+
# -------------------------- #
155155
avehr$analysis <- seq_len(nrow(avehr))
156156
avehr$theta <- -log(avehr$ahr)
157157

158-
# Output results ----
159158
ans <- avehr[, c("analysis", "time", "event", "ahr", "theta", "info", "info0")]
160159
return(ans)
161160
}

0 commit comments

Comments
 (0)