# Example I: Single inhibitory dose-response dataset
df <- data.frame(
dose = c(0.1, 0.3, 1, 3, 10, 30, 100),
response = c(95, 90, 75, 45, 20, 8, 3)
)
sigmoid_imax(
data = df,
dose_col = "dose",
response_col = "response"
)
# Example II: Two treatment groups (e.g., two inhibitors or conditions)
df2 <- data.frame(
dose = rep(c(0.1, 0.3, 1, 3, 10, 30), 2),
response = c(
92, 85, 65, 40, 18, 7, # Group A (stronger inhibitor)
95, 88, 72, 50, 30, 15 # Group B (weaker inhibitor)
),
treatment = rep(c("Group A", "Group B"), each = 6)
)
sigmoid_imax(
data = df2,
dose_col = "dose",
response_col = "response",
group_col = "treatment",
log_dose = TRUE
)
# Example III: Multiple subjects (population-style inhibitory pharmacodynamics)
df_subjects <- data.frame(
dose = rep(c(0.1, 0.3, 1, 3, 10, 30), 5),
response = c(
94, 86, 68, 42, 20, 9, # Subject 1
96, 88, 70, 45, 22, 10, # Subject 2
93, 84, 65, 40, 18, 8, # Subject 3
95, 87, 69, 44, 21, 9, # Subject 4
97, 89, 72, 48, 25, 12 # Subject 5
),
subject = rep(paste0("S", 1:5), each = 6)
)
sigmoid_imax(
data = df_subjects,
dose_col = "dose",
response_col = "response",
group_col = "subject",
log_dose = TRUE
)
Run the code above in your browser using DataLab