Graphing G from Brenner 1996 to get a sense for its behavior.
library(ggplot2)
continuous_g <- function(time, lambda) {
(2 / (lambda * time)^2) * (exp(-1 * lambda * time) - 1 + lambda * time)
}
time = seq(0, 50, 0.01)
lambda = log(2/1) # 1 unit time until 50% repair
response = continuous_g(time, lambda)
ggplot(NULL, aes(time, response)) +
geom_path() +
geom_segment(aes(x=0, xend=0, y=0, yend=1.00), color="grey") +
geom_segment(aes(x=3.69, xend=3.69, y=0, yend=0.50), color="grey") +
geom_segment(aes(x=9.86, xend=9.86, y=0, yend=0.25), color="grey") +
geom_segment(aes(x=21.53, xend=21.53, y=0, yend=0.125), color="grey") +
geom_segment(aes(x=44.67, xend=44.67, y=0, yend=0.0625), color="grey") +
ylim(0, 1) +
scale_x_continuous(breaks = c(0, 3.69, 9.86, 21.53, 44.67)) +
xlab("Total exposure time") +
ggtitle("G with continuous exposure and a (relative) repair time of 1")
## Warning in loop_apply(n, do.ply): Removed 1 rows containing missing values
## (geom_path).
Notice that if the time is ~3.5 times the expected repair time then the risk from the quadratic component is 1/2. Interestingly this doesn’t depend on dose rate, just the total exposure time.
fractionated_g <- function(n, lambda, time_between_fractions=1) {
theta <- exp(-1 * lambda * time_between_fractions)
print(theta)
print(n)
((2 * theta) / (1 - theta)) * (n - (1 - theta^n)/(1 - theta))
}
n_fractions = seq(1, 50, 1)
lambda = log(2/1) # 1 unit time until 50% repair
response = fractionated_g(n_fractions, lambda)
## [1] 0.5
## [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
## [24] 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
## [47] 47 48 49 50
ggplot(NULL, aes(n_fractions, response)) +
geom_path()
This dose response doesn’t make sense. What is going on?