set.seed(65535)
n_sessions <- 80
n_targets <- 4
var_targets <- runif(n_targets,
min = 0.1,
max = 0.25
)
bl_targets <- runif(n_targets,
min = 0,
max = 0.2
)
pl_shifts <- runif(n_targets,
min = 0.4,
max = 0.8
)
pl_change <- c(15, 30, 45, 60)
session_target <- 0
main_data_frame <- data.frame(
Session = numeric(0),
Phase = character(0),
Facet = character(0),
Percentage = numeric(0),
Target = character(0)
)
for (t in seq_len(n_sessions)) {
session_target <- session_target + 1
session_target <- ifelse(session_target > 4, 1, session_target)
rel_var <- var_targets[session_target]
rel_bl <- bl_targets[session_target]
rel_pls <- pl_shifts[session_target]
rel_plc <- pl_change[session_target]
phase <- ifelse(t < rel_plc, "Baseline", "Intervention")
phase_dummy <- ifelse(t < rel_plc, 0, 1)
pct <- rel_bl + rel_pls * phase_dummy + rnorm(1, 0, rel_var)
pct <- pct * 100
pct <- ifelse(pct > 100, 100, pct)
pct <- ifelse(pct < 0, 0, pct)
data_frame_addendum <- data.frame(
Session = t,
Phase = phase,
Facet = as.character(session_target),
Percentage = pct,
Target = "Main"
)
main_data_frame <- rbind(
main_data_frame,
data_frame_addendum
)
}
main_data_frame$Therapist <- "Primary"
main_data_frame_backup <- main_data_frame
t <- 1
for (t in seq_len(n_targets)) {
rel_facet <- as.character(t)
rel_plc <- pl_change[t]
rel_top <- rel_plc + (n_targets * 3)
main_data_frame <- subset(
main_data_frame,
!(Facet == rel_facet &
Session >= rel_plc &
Session < rel_top)
)
}
gen_session <- c(
5, 6, 7, 8,
17, 18, 19, 20,
25, 26, 27, 28,
37, 38, 39, 40,
45, 46, 47, 48,
57, 58, 59, 60,
65, 66, 67, 68,
77, 78, 79, 80
)
main_data_frame[main_data_frame$Session %in% gen_session, "Therapist"] <- "Generalization"
x_ticks <- c(1, (1:16) * 5)
describe("MBL Greyed out Plot Style", {
it("Should render as normal", {
expect_no_error(
scr_plot(
subset(
main_data_frame,
Therapist == "Primary"
),
aesthetics = var_map(
x = Session,
y = Percentage,
p = Phase,
facet = Facet
),
mai = c(0.125, 0.375, 0.25, 0.25),
omi = c(0.5, 0.25, 0.25, 0.25)
) |>
scr_yoverride(
c(-10, 100),
ydelta = 25,
yticks = c(0, 25, 50, 75, 100),
ytickslabs = as.character(c(0, 25, 50, 75, 100))
) |>
scr_xoverride(
c(0, n_sessions),
xticks = x_ticks
) |>
scr_anno_rect(
rects = list(
"1" = list(
x0 = pl_change[1],
x1 = pl_change[1] + 11,
y0 = -9,
y1 = 100
),
"2" = list(
x0 = pl_change[2],
x1 = pl_change[2] + 11,
y0 = -9,
y1 = 100
),
"3" = list(
x0 = pl_change[3],
x1 = pl_change[3] + 11,
y0 = -9,
y1 = 100,
color = "black",
fill = "black"
),
"4" = list(
x0 = pl_change[4],
x1 = pl_change[4] + 11,
y0 = -9,
y1 = 100
)
),
fill = "gray",
color = "gray"
) |>
scr_ylabel("Accuracy") |>
scr_xlabel("Session",
line = 2
) |>
scr_lines() |>
scr_points(
pch = 23,
cex = 2,
fill = "white"
) |>
scr_points(
pch = 22,
cex = 2,
fill = "green",
mapping = list(
x = Session,
y = Percentage
),
data = subset(
main_data_frame,
Therapist == "Generalization"
)
) |>
scr_plines_mbd(
lines = list(
"A" = list(
"1" = list(
x1 = pl_change[1],
y1 = 100,
y2 = -30
),
"2" = list(
x1 = pl_change[2],
y1 = 100,
y2 = -30
),
"3" = list(
x1 = pl_change[3],
y1 = 100,
y2 = -30
),
"4" = list(
x1 = pl_change[4],
y1 = 100,
y2 = -10
)
)
)
) |>
scr_label_facet(
cex = 1.25,
adj = 1,
y = 115,
face = 2,
x = 80,
labels = list(
"1" = list(
label = "Participant 1"
),
"2" = list(
label = "Participant 2"
),
"3" = list(
label = "Participant 3"
),
"4" = list(
label = "Participant 4"
)
)
) |>
scr_label_phase(
facet = "1",
cex = 1.125,
adj = 0.5,
y = 110,
labels = list(
"Baseline" = list(
x = 7.5
),
"Intervention" = list(
x = 37.5
)
)
) |>
scr_label_phase(
facet = "1",
cex = 1.125,
adj = 0,
y = 110,
labels = list(
"Errorless Training" = list(
x = 35,
y = 5,
adj = 0
)
)
) |>
scr_anno_arrows(
facet = "1",
length = 0.075,
code = 1,
color = "black",
lty = 1,
lwd = 1,
arrows = list(
"A" = list(
x0 = 27,
y0 = 5,
x1 = 34,
y1 = 5
)
)
) |>
scr_legend(
panel = "1",
position = "bottomright",
legend = c(
"Independence",
"Generalization Probe"
),
col = c(
"black",
"black"
),
pt_bg = c(
"white",
"green"
),
lty = c(
1,
1
),
pch = c(
23,
22
),
bty = "n",
pt_cex = 2.25,
cex = 1.25,
text_col = "black",
horiz = FALSE,
box_lty = 0
) |>
print()
)
})
it("Should specific to facet", {
expect_no_error(
scr_plot(
subset(
main_data_frame,
Therapist == "Primary"
),
aesthetics = var_map(
x = Session,
y = Percentage,
p = Phase,
facet = Facet
),
mai = c(0.125, 0.375, 0.25, 0.25),
omi = c(0.5, 0.25, 0.25, 0.25)
) |>
scr_yoverride(
c(-10, 100),
ydelta = 25,
yticks = c(0, 25, 50, 75, 100),
ytickslabs = as.character(c(0, 25, 50, 75, 100))
) |>
scr_xoverride(
c(0, n_sessions),
xticks = x_ticks
) |>
scr_anno_rect(
rects = list(
"1" = list(
x0 = pl_change[1],
x1 = pl_change[1] + 11,
y0 = -9,
y1 = 100
),
"2" = list(
x0 = pl_change[2],
x1 = pl_change[2] + 11,
y0 = -9,
y1 = 100
),
"3" = list(
x0 = pl_change[3],
x1 = pl_change[3] + 11,
y0 = -9,
y1 = 100
),
"4" = list(
x0 = pl_change[4],
x1 = pl_change[4] + 11,
y0 = -9,
y1 = 100
)
),
fill = "gray",
color = "gray"
) |>
scr_ylabel("Accuracy") |>
scr_xlabel("Session",
line = 2
) |>
scr_lines() |>
scr_points(
pch = 23,
cex = 2,
fill = "white"
) |>
scr_points(
pch = 22,
cex = 2,
fill = "green",
mapping = list(
x = Session,
y = Percentage
),
data = subset(
main_data_frame,
Therapist == "Generalization"
)
) |>
scr_plines_mbd(
lines = list(
"A" = list(
"1" = list(
x1 = pl_change[1],
y1 = 100,
y2 = -30
),
"2" = list(
x1 = pl_change[2],
y1 = 100,
y2 = -30
),
"3" = list(
x1 = pl_change[3],
y1 = 100,
y2 = -30
),
"4" = list(
x1 = pl_change[4],
y1 = 100,
y2 = -10
)
)
)
) |>
scr_label_facet(
cex = 1.25,
adj = 1,
y = 115,
face = 2,
x = 80,
labels = list(
"1" = list(
label = "Participant 1"
),
"2" = list(
label = "Participant 2"
),
"3" = list(
label = "Participant 3"
),
"4" = list(
label = "Participant 4"
)
)
) |>
scr_label_phase(
facet = "1",
cex = 1.125,
adj = 0.5,
y = 110,
labels = list(
"Baseline" = list(
x = 7.5
),
"Intervention" = list(
x = 37.5
)
)
) |>
scr_label_phase(
facet = "1",
cex = 1.125,
adj = 0,
y = 110,
labels = list(
"Errorless Training" = list(
x = 35,
y = 5,
adj = 0
)
)
) |>
scr_anno_arrows(
facet = "1",
length = 0.075,
code = 1,
color = "black",
lty = 1,
lwd = 1,
arrows = list(
"A" = list(
x0 = 27,
y0 = 5,
x1 = 34,
y1 = 5
)
)
) |>
scr_legend(
panel = "1",
position = "bottomright",
legend = c(
"Independence",
"Generalization Probe"
),
col = c(
"black",
"black"
),
pt_bg = c(
"white",
"green"
),
lty = c(
1,
1
),
pch = c(
23,
22
),
bty = "n",
pt_cex = 2.25,
cex = 1.25,
text_col = "black",
horiz = FALSE,
box_lty = 0
) |>
print()
)
})
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.