library(dplyr)
library(tidyr)
test_that("POGO calculation agrees with article for Crozier 2005", {
data("Crozier2005")
Crozier2005_res <- data.frame(Phase_Shift = c("A1 to B1", "B1 to A2", "A2 to B2"),
Article_ES = c(79.1, 64.2, 97.92))
shift1 <- batch_calc_ES(dat = Crozier2005,
condition = phase,
baseline_phase = "A1",
intervention_phase = "B1",
outcome = score,
ES = c("PoGO"),
goal = 0)
shift2 <- batch_calc_ES(dat = Crozier2005,
condition = phase,
baseline_phase = "B1",
intervention_phase = "A2",
outcome = score,
ES = c("PoGO"),
goal = 11.17)
shift3 <- batch_calc_ES(dat = Crozier2005,
condition = phase,
baseline_phase = "A2",
intervention_phase = "B2",
outcome = score,
ES = c("PoGO"),
goal = 0)
Crozier2005_PoGO <- rbind(shift1, shift2, shift3)
Crozier_Compare <- cbind(Crozier2005_res, Crozier2005_PoGO)
expect_equal(round(Crozier_Compare$Article_ES,0), round(Crozier_Compare$Est, 0))
})
test_that("POGO calculation agrees with article for English1997", {
data("English1997")
English1997_res <- data.frame(case = c("Sue", "Don", "Jake", "Pete"),
Article_ES = c(79.1, 69, 35.8, 108.2))
English1997_PoGO <- batch_calc_ES(dat = English1997,
grouping = c(case),
condition = phase,
outcome = score,
ES = c("PoGO"),
goal = 21.25)
English_Compare <- left_join(English1997_res, English1997_PoGO, by = "case")
expect_equal(round(English_Compare$Article_ES,0), round(English_Compare$Est, 0))
})
test_that("POGO calculation agrees with article for Facon 2008", {
data("Facon2008")
Facon2008_res <- data.frame(Phase_Shift = c("A to B", "B to C", "C to D", "D to E", "E to F", "F to G", "G to H", "H to I"),
Article_ES = c(4.6, 12.4, 23.3, 43.5, 62.1, 77.9, 87.4, 106.2))
shift1_f <- batch_calc_ES(dat = Facon2008,
condition = phase,
outcome = score,
baseline_phase = "A",
intervention_phase = "B",
ES = c("PoGO"),
goal = 70)
shift2_f <- batch_calc_ES(dat = Facon2008,
condition = phase,
outcome = score,
baseline_phase = "A",
intervention_phase = "C",
ES = c("PoGO"),
goal = 70)
shift3_f <- batch_calc_ES(dat = Facon2008,
condition = phase,
outcome = score,
baseline_phase = "A",
intervention_phase = "D",
ES = c("PoGO"),
goal = 70)
shift4_f <- batch_calc_ES(dat = Facon2008,
condition = phase,
outcome = score,
baseline_phase = "A",
intervention_phase = "E",
ES = c("PoGO"),
goal = 70)
shift5_f <- batch_calc_ES(dat = Facon2008,
condition = phase,
outcome = score,
baseline_phase = "A",
intervention_phase = "F",
ES = c("PoGO"),
goal = 70)
shift6_f <- batch_calc_ES(dat = Facon2008,
condition = phase,
outcome = score,
baseline_phase = "A",
intervention_phase = "G",
ES = c("PoGO"),
goal = 70)
shift7_f <- batch_calc_ES(dat = Facon2008,
condition = phase,
outcome = score,
baseline_phase = "A",
intervention_phase = "H",
ES = c("PoGO"),
goal = 70)
shift8_f <- batch_calc_ES(dat = Facon2008,
condition = phase,
outcome = score,
baseline_phase = "A",
intervention_phase = "I",
ES = c("PoGO"),
goal = 70)
Facon2008_PoGO <- rbind(shift1_f, shift2_f, shift3_f, shift4_f, shift5_f, shift6_f, shift7_f, shift8_f)
Facon_Compare <- cbind(Facon2008_res, Facon2008_PoGO)
expect_equal(round(Facon_Compare$Article_ES,1), round(Facon_Compare$Est, 1))
})
test_that("POGO calculation agrees with article for Olszewski 2017", {
data("Olszewski2017")
Olszewski2017_res <- data.frame(behavior = c("Blends", "Segmenting", "First Part ID", "First Sound ID"),
Article_ES = c(23.0, 85.3, 100, 26))
Olszewski2017_PoGO <- batch_calc_ES(dat = Olszewski2017,
grouping = c(behavior),
condition = phase,
outcome = score,
ES = c("PoGO"),
goal = 20)
Segmenting <-
Olszewski2017 %>%
dplyr::filter(
session %in% c(1:8,14:18),
behavior == "Segmenting"
)
Segmenting_PoGO <- batch_calc_ES(dat = Segmenting,
condition = phase,
outcome = score,
ES = c("PoGO"),
goal = 20) %>%
mutate(behavior = "Segmenting") %>%
select(behavior, ES, Est, SE, CI_lower, CI_upper)
FirstPart <-
Olszewski2017 %>%
dplyr::filter(session %in% c(1:11,14:18), behavior == "First Part ID")
FirstPart_PoGO <- batch_calc_ES(dat = FirstPart,
condition = phase,
outcome = score,
ES = c("PoGO"),
goal = 20) %>%
mutate(behavior = "First Part ID") %>%
select(behavior, ES, Est, SE, CI_lower, CI_upper)
Olszewski_Compare <- Olszewski2017_PoGO %>%
dplyr::filter(behavior %in% c("Blends","First Sound ID")) %>%
rbind(Segmenting_PoGO, FirstPart_PoGO) %>%
left_join(Olszewski2017_res, by = "behavior")
expect_equal(round(Olszewski_Compare$Article_ES,1), round(Olszewski_Compare$Est, 1))
})
test_that("POGO calculation agrees with article for Spencer 2012", {
data("Spencer2012")
Spencer2012_res <- data.frame(Observation = c("Child A1", "Child A2", "Child A3", "Child B1", "Child B2", "Child B3", "Child C1", "Child C2", "Child C3"),
Article_ES = c(33.333, 50, 46.875, 58.826, 44.444, 14.711, 72.222, 36.111, 27.778))
spencer2012_long <-
Spencer2012 %>%
group_by(Observation) %>%
pivot_longer(cols = c(Pre, Post), names_to = "Phase", values_to = "Score")
Spencer2012_PoGO <- batch_calc_ES(dat = spencer2012_long,
grouping = Observation,
condition = Phase,
outcome = Score,
baseline_phase = "Pre",
intervention_phase = "Post",
ES = c("PoGO"),
goal = 4)
Spencer2012_Compare <- left_join(Spencer2012_res, Spencer2012_PoGO, by = "Observation")
expect_equal(round(Spencer2012_Compare$Article_ES,1), round(Spencer2012_Compare$Est, 1))
})
test_that("POGO calculation agrees with article for Kelley 2015", {
data("Kelley2015")
Kelley2015_res <- data.frame(observation = c("240408", "240412", "240413", "240903", "240913", "240915", "241201", "241204", "241211"),
Article_ES = c(33.33333333, 32.25850156, 100, 25.71449796, 50.00029412, 46.87516602, 58.62083234, 5.714555101, 83.33333333),
Article_SE = 100*c(0.096225045, 0.105658281, 0.120697847, 0.154036724, 0.088234833, 0.170816987, 0.211244275, 0.057166015, 0.166666667))
kelley_dat <-
Kelley2015 %>%
pivot_longer(cols = c(pre, post), names_to = "Phase", values_to = "Score") %>%
dplyr::filter(condition == "treatment") %>%
mutate(Score = as.numeric(Score))
Kelley2015_PoGO <- batch_calc_ES(dat = kelley_dat,
grouping = observation,
condition = Phase,
outcome = Score,
baseline_phase = "pre",
intervention_phase = "post",
ES = c("PoGO"),
goal = 12)
Kelley2015_Compare <- left_join(Kelley2015_PoGO, Kelley2015_res, by = "observation")
expect_equal(round(Kelley2015_Compare$Article_ES,1), round(Kelley2015_Compare$Est, 1))
expect_equal(round(Kelley2015_Compare$Article_SE,1), round(Kelley2015_Compare$SE, 1))
})
test_that("POGO calculation agrees with article for Peters 2020", {
data("Peters2020")
Peters2020_res <- data.frame(Observation = c("Child F1", "Child F2", "Child F3", "Child F4", "Child F5", "Child F6", "Child F7", "Child F8", "Child F9",
"Child J1", "Child J2", "Child J3", "Child J4", "Child J5", "Child J6", "Child J7", "Child J8"),
Article_ES = c(45.45454545, 24.52901388, 43.75, 47.54098361, 87.5, 50, 25, 56.8627451, 80.43478261,
14.08450704, 12.5, 12.5, 5.555555556, 67.1641791, 75, 76.8115942, 93.65079365),
Article_SE = 100*c(0.135641715, 0.114136702, 0.090507378, 0.131092941, 0.098293817, 0.174768405, 0.20848209, 0.180583945, 0.174069647,
0.067576046, 0.051031036, 0.051031036, 0.030270132, 0.101676434, 0.097340735, 0.082401857, 0.095980561))
peters_long <- Peters2020 %>%
pivot_longer(cols = c(Pre, Post), names_to = "phase", values_to = "score")
Peters2020_PoGO <- batch_calc_ES(dat = peters_long,
grouping = Observation,
condition = phase,
outcome = score,
baseline_phase = "Pre",
intervention_phase = "Post",
ES = c("PoGO"),
goal = 8)
Peters2020_Compare <- left_join(Peters2020_PoGO, Peters2020_res, by = "Observation")
expect_equal(round(Peters2020_Compare$Article_ES,1), round(Peters2020_Compare$Est, 1))
expect_equal(round(Peters2020_Compare$Article_SE,1), round(Peters2020_Compare$SE, 1))
})
test_that("POGO calculation agrees with article for Dennis 2021", {
data("Dennis2021")
Dennis2021_res <- data.frame(Participant = c(1,2,3,4,5,6,1,2,3,4,5,6),
Condition = c(rep("App", 6), rep("TCH", 6)),
Article_ES = c(38.0952381, 11.26760563, 50, 57.14285714, 76.27118644, 23.72881356, 32.78688525, 7.246376812, 35.48387097, 34.54545455, 51.61290323, 14.28571429),
Article_SE = 100*c(0.082972405, 0.059776573, 0.16511651, 0.074451044, 0.086261415, 0.096243717, 0.10868039, 0.065541587, 0.145493518, 0.097742848, 0.096234682, 0.117356181))
dennis_long <-
Dennis2021 %>%
pivot_longer(cols = c(Pre, Post), names_to = "phase", values_to = "score")
Dennis2021_PoGO <-
batch_calc_ES(dat = dennis_long,
grouping = c(Participant, Condition),
condition = phase,
outcome = score,
baseline_phase = "Pre",
intervention_phase = "Post",
ES = c("PoGO"),
goal = 9)
Dennis2021_Compare <- left_join(Dennis2021_PoGO, Dennis2021_res, by = c("Participant", "Condition"))
expect_equal(round(Dennis2021_Compare$Article_ES,1), round(Dennis2021_Compare$Est, 1))
expect_equal(round(Dennis2021_Compare$Article_SE,1), round(Dennis2021_Compare$SE, 1))
})
test_that("POGO calculation agrees with Kirby's calculation for Byiers2014", {
data("Byiers2014")
Byiers_res <- data.frame(StudyID_CaseID = c("221_Jen", "221_Rose", "221_Tammy"),
ES_Kirby = c(34.515, 64.81, 74.29))
Byiers_PoGO <-
batch_calc_ES(dat = Byiers2014,
grouping = StudyID_CaseID,
condition = Condition,
outcome = Outcome,
aggregate = phase_pair_calculated,
weighting = "equal",
session_number = Session_number,
baseline_phase = "A",
intervention_phase = "B",
ES = c("PoGO"),
goal = Goal_level)
Byiers_Compare <- Byiers_PoGO %>% left_join(Byiers_res, by = "StudyID_CaseID")
expect_equal(round(Byiers_Compare$ES_Kirby,1), round(Byiers_Compare$Est, 1))
})
test_that("POGO calculation agrees with Kirby's calculation for Casey1978", {
data("Casey1978")
Casey_res <- data.frame(StudyID_CaseID = c("120_Eric", "120_Freddie", "120_Lori", "120_Tommy"),
ES_Kirby = c(55.36, 63.93, 71.43, 25.53))
Casey_PoGO <-
batch_calc_ES(dat = Casey1978,
grouping = StudyID_CaseID,
condition = Condition,
outcome = Outcome,
session_number = Session_number,
baseline_phase = "A",
intervention_phase = "B",
ES = c("PoGO"),
scale = Procedure,
goal = Goal_level)
Casey_Compare <-
Casey_PoGO %>%
left_join(Casey_res, by = "StudyID_CaseID") %>%
dplyr::filter(StudyID_CaseID != "120_Lori") # differ more than .5
expect_equal(round(Casey_Compare$ES_Kirby,0), round(Casey_Compare$Est, 0))
})
test_that("POGO calculation agrees with Kirby's calculation for Strasberger2013", {
data("Strasberger2014")
Strasberger_res <- data.frame(StudyID_CaseID = c("158_Juan", "158_Kyle", "158_Parker", "158_Thomas"),
ES_Kirby = c(36.17, 88.00, 58.33, 40.30))
Strasberger_PoGO <-
batch_calc_ES(dat = Strasberger2014,
grouping = StudyID_CaseID,
condition = Condition,
outcome = Outcome,
session_number = Session_number,
ES = c("PoGO"),
scale = Procedure,
goal = Goal_level)
Strasberger_Compare <- Strasberger_PoGO %>% left_join(Strasberger_res, by = "StudyID_CaseID")
expect_equal(round(Strasberger_Compare$ES_Kirby,1), round(Strasberger_Compare$Est, 1))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.