Effect size computation: feltzzarpentine2010knowmattersless

Shared helpers

stop_if_missing <- function(x, name) {
  if (is.na(x)) stop(sprintf("Missing required input: %s", name), call. = FALSE)
}

# Exact small-sample correction factor used by metafor (.cmicalc).
hedges_correction <- function(df) {
  ifelse(df <= 1, NA_real_, exp(lgamma(df/2) - log(sqrt(df/2)) - lgamma((df - 1)/2)))
}

pooled_sd <- function(n_high, n_low, sd_high, sd_low) {
  sqrt(((n_high - 1) * sd_high^2 + (n_low - 1) * sd_low^2) / (n_high + n_low - 2))
}

d_from_groups_independent <- function(n_high, n_low, mean_high, mean_low, sd_high, sd_low) {
  s <- pooled_sd(n_high, n_low, sd_high, sd_low)
  (mean_low - mean_high) / s
}

var_d_independent <- function(d, n_high, n_low) {
  n <- n_high + n_low
  (n / (n_high * n_low)) + (d^2 / (2 * (n - 2)))
}

compute_effect_size <- function(
    paper_key,
    study_id,
    effect_id,
    method_used,
    sign_convention = "d = mean(low) - mean(high)",
    n_high = NA_integer_,
    n_low = NA_integer_,
    mean_high = NA_real_,
    mean_low = NA_real_,
    sd_high = NA_real_,
    sd_low = NA_real_,
    notes_on_assumptions = "",
    imputed_flag = FALSE,
    needs_sensitivity = TRUE
) {
  d <- NA_real_
  v <- NA_real_
  g <- NA_real_
  v_g <- NA_real_
  computed_from_suggested <- NA_character_
  design_used <- if (startsWith(method_used, "between_")) "Between-Subjects" else NA_character_

  if (method_used == "between_groups") {
    computed_from_suggested <- "groups"
    stop_if_missing(n_high, "n_high")
    stop_if_missing(n_low, "n_low")
    stop_if_missing(mean_high, "mean_high")
    stop_if_missing(mean_low, "mean_low")
    stop_if_missing(sd_high, "sd_high")
    stop_if_missing(sd_low, "sd_low")
    d <- d_from_groups_independent(n_high, n_low, mean_high, mean_low, sd_high, sd_low)
    v <- var_d_independent(d, n_high, n_low)
    df_used <- n_high + n_low - 2
    J <- hedges_correction(df_used)
    g <- J * d
    v_g <- (J^2) * v
  } else {
    stop(sprintf("Unknown method_used: %s", method_used), call. = FALSE)
  }

  inputs_used <- paste(
    c(
      sprintf("method=%s", method_used),
      sprintf("sign_convention=%s", sign_convention),
      sprintf("n_low=%s", n_low),
      sprintf("n_high=%s", n_high),
      sprintf("mean_low=%s", mean_low),
      sprintf("mean_high=%s", mean_high),
      sprintf("sd_low=%s", sd_low),
      sprintf("sd_high=%s", sd_high)
    ),
    collapse = ", "
  )

  audit <- data.frame(
    paper_key = paper_key,
    study_id = study_id,
    effect_id = effect_id,
    design = design_used,
    method_used = method_used,
    computed_from_suggested = computed_from_suggested,
    inputs_used = inputs_used,
    d = d,
    v = v,
    g = g,
    v_g = v_g,
    notes_on_assumptions = notes_on_assumptions,
    imputed_flag = imputed_flag,
    needs_sensitivity = needs_sensitivity
  )

  yaml_snippet <- sprintf(
    "effect_size:\\n  metric: SMD\\n  d: %.12f\\n  v: %.12f\\n  computed_from: %s\\n  needs_review: false\\n  notes: \"%s\"\\n",
    d, v, computed_from_suggested, gsub(pattern = "\"", replacement = "'", x = inputs_used)
  )

  list(audit = audit, yaml_snippet = yaml_snippet)
}

Study 1 (Experiment 1): Stanley bank cases

Effect s1_e1: High Stakes vs Low Stakes

paper_key <- "feltzzarpentine2010knowmattersless"
study_id <- 1
effect_id <- "s1_e1"

inputs <- list(
  n_high = 39L,
  n_low = 34L,
  mean_high = 4.26,
  mean_low = 3.68,
  sd_high = 2.14,
  sd_low = 1.91
)
inputs
$n_high
[1] 39

$n_low
[1] 34

$mean_high
[1] 4.26

$mean_low
[1] 3.68

$sd_high
[1] 2.14

$sd_low
[1] 1.91
# Original scale: 1 = Strongly Agree ... 7 = Strongly Disagree.
# Reverse-score so higher values indicate stronger agreement (match other extractions).
inputs$mean_high <- 8 - inputs$mean_high
inputs$mean_low <- 8 - inputs$mean_low
inputs
$n_high
[1] 39

$n_low
[1] 34

$mean_high
[1] 3.74

$mean_low
[1] 4.32

$sd_high
[1] 2.14

$sd_low
[1] 1.91
res_s1_e1 <- compute_effect_size(
  paper_key = paper_key,
  study_id = study_id,
  effect_id = effect_id,
  method_used = "between_groups",
  n_high = inputs$n_high,
  n_low = inputs$n_low,
  mean_high = inputs$mean_high,
  mean_low = inputs$mean_low,
  sd_high = inputs$sd_high,
  sd_low = inputs$sd_low,
  notes_on_assumptions = "Means reverse-scored as (8 - M) because response scale is 1=Strongly Agree ... 7=Strongly Disagree (to align with other extractions where higher=more agreement). Group Ns inferred from total N=152 + reported independent-samples t-test dfs in Notes [6]-[8] (PDF p.17); means/SD from Notes [6]."
)
res_s1_e1$audit
                           paper_key study_id effect_id           design
1 feltzzarpentine2010knowmattersless        1     s1_e1 Between-Subjects
     method_used computed_from_suggested
1 between_groups                  groups
                                                                                                                                       inputs_used
1 method=between_groups, sign_convention=d = mean(low) - mean(high), n_low=34, n_high=39, mean_low=4.32, mean_high=3.74, sd_low=1.91, sd_high=2.14
          d         v         g        v_g
1 0.2848258 0.0556241 0.2818047 0.05445035
                                                                                                                                                                                                                                                                                  notes_on_assumptions
1 Means reverse-scored as (8 - M) because response scale is 1=Strongly Agree ... 7=Strongly Disagree (to align with other extractions where higher=more agreement). Group Ns inferred from total N=152 + reported independent-samples t-test dfs in Notes [6]-[8] (PDF p.17); means/SD from Notes [6].
  imputed_flag needs_sensitivity
1        FALSE              TRUE
cat(res_s1_e1$yaml_snippet)
effect_size:\n  metric: SMD\n  d: 0.284825809531\n  v: 0.055624098388\n  computed_from: groups\n  needs_review: false\n  notes: "method=between_groups, sign_convention=d = mean(low) - mean(high), n_low=34, n_high=39, mean_low=4.32, mean_high=3.74, sd_low=1.91, sd_high=2.14"\n

Effect s1_e2: Ignorant High Stakes vs Low Stakes

paper_key <- "feltzzarpentine2010knowmattersless"
study_id <- 1
effect_id <- "s1_e2"

inputs <- list(
  n_high = 39L,
  n_low = 34L,
  mean_high = 3.59,
  mean_low = 3.68,
  sd_high = 1.90,
  sd_low = 1.91
)
inputs
$n_high
[1] 39

$n_low
[1] 34

$mean_high
[1] 3.59

$mean_low
[1] 3.68

$sd_high
[1] 1.9

$sd_low
[1] 1.91
# Original scale: 1 = Strongly Agree ... 7 = Strongly Disagree.
# Reverse-score so higher values indicate stronger agreement (match other extractions).
inputs$mean_high <- 8 - inputs$mean_high
inputs$mean_low <- 8 - inputs$mean_low
inputs
$n_high
[1] 39

$n_low
[1] 34

$mean_high
[1] 4.41

$mean_low
[1] 4.32

$sd_high
[1] 1.9

$sd_low
[1] 1.91
res_s1_e2 <- compute_effect_size(
  paper_key = paper_key,
  study_id = study_id,
  effect_id = effect_id,
  method_used = "between_groups",
  n_high = inputs$n_high,
  n_low = inputs$n_low,
  mean_high = inputs$mean_high,
  mean_low = inputs$mean_low,
  sd_high = inputs$sd_high,
  sd_low = inputs$sd_low,
  notes_on_assumptions = "Means reverse-scored as (8 - M) because response scale is 1=Strongly Agree ... 7=Strongly Disagree (to align with other extractions where higher=more agreement). Group Ns inferred from total N=152 + reported independent-samples t-test dfs in Notes [6]-[8] (PDF p.17); means/SD from Notes [6]-[7]."
)
res_s1_e2$audit
                           paper_key study_id effect_id           design
1 feltzzarpentine2010knowmattersless        1     s1_e2 Between-Subjects
     method_used computed_from_suggested
1 between_groups                  groups
                                                                                                                                      inputs_used
1 method=between_groups, sign_convention=d = mean(low) - mean(high), n_low=34, n_high=39, mean_low=4.32, mean_high=4.41, sd_low=1.91, sd_high=1.9
            d          v           g        v_g
1 -0.04725267 0.05506851 -0.04675146 0.05390649
                                                                                                                                                                                                                                                                                      notes_on_assumptions
1 Means reverse-scored as (8 - M) because response scale is 1=Strongly Agree ... 7=Strongly Disagree (to align with other extractions where higher=more agreement). Group Ns inferred from total N=152 + reported independent-samples t-test dfs in Notes [6]-[8] (PDF p.17); means/SD from Notes [6]-[7].
  imputed_flag needs_sensitivity
1        FALSE              TRUE
cat(res_s1_e2$yaml_snippet)
effect_size:\n  metric: SMD\n  d: -0.047252666502\n  v: 0.055068514393\n  computed_from: groups\n  needs_review: false\n  notes: "method=between_groups, sign_convention=d = mean(low) - mean(high), n_low=34, n_high=39, mean_low=4.32, mean_high=4.41, sd_low=1.91, sd_high=1.9"\n

Effect s1_e3: Low Attributer–High Subject Stakes vs Low Stakes

paper_key <- "feltzzarpentine2010knowmattersless"
study_id <- 1
effect_id <- "s1_e3"

inputs <- list(
  n_high = 40L,
  n_low = 34L,
  mean_high = 4.75,
  mean_low = 3.68,
  sd_high = 1.89,
  sd_low = 1.91
)
inputs
$n_high
[1] 40

$n_low
[1] 34

$mean_high
[1] 4.75

$mean_low
[1] 3.68

$sd_high
[1] 1.89

$sd_low
[1] 1.91
# Original scale: 1 = Strongly Agree ... 7 = Strongly Disagree.
# Reverse-score so higher values indicate stronger agreement (match other extractions).
inputs$mean_high <- 8 - inputs$mean_high
inputs$mean_low <- 8 - inputs$mean_low
inputs
$n_high
[1] 40

$n_low
[1] 34

$mean_high
[1] 3.25

$mean_low
[1] 4.32

$sd_high
[1] 1.89

$sd_low
[1] 1.91
res_s1_e3 <- compute_effect_size(
  paper_key = paper_key,
  study_id = study_id,
  effect_id = effect_id,
  method_used = "between_groups",
  n_high = inputs$n_high,
  n_low = inputs$n_low,
  mean_high = inputs$mean_high,
  mean_low = inputs$mean_low,
  sd_high = inputs$sd_high,
  sd_low = inputs$sd_low,
  notes_on_assumptions = "Means reverse-scored as (8 - M) because response scale is 1=Strongly Agree ... 7=Strongly Disagree (to align with other extractions where higher=more agreement). Group Ns inferred from total N=152 + reported independent-samples t-test dfs in Notes [6]-[8] (PDF p.17); means/SD from Notes [6] and [8]."
)
res_s1_e3$audit
                           paper_key study_id effect_id           design
1 feltzzarpentine2010knowmattersless        1     s1_e3 Between-Subjects
     method_used computed_from_suggested
1 between_groups                  groups
                                                                                                                                       inputs_used
1 method=between_groups, sign_convention=d = mean(low) - mean(high), n_low=34, n_high=40, mean_low=4.32, mean_high=3.25, sd_low=1.91, sd_high=1.89
          d          v         g        v_g
1 0.5633972 0.05661605 0.5575046 0.05543794
                                                                                                                                                                                                                                                                                          notes_on_assumptions
1 Means reverse-scored as (8 - M) because response scale is 1=Strongly Agree ... 7=Strongly Disagree (to align with other extractions where higher=more agreement). Group Ns inferred from total N=152 + reported independent-samples t-test dfs in Notes [6]-[8] (PDF p.17); means/SD from Notes [6] and [8].
  imputed_flag needs_sensitivity
1        FALSE              TRUE
cat(res_s1_e3$yaml_snippet)
effect_size:\n  metric: SMD\n  d: 0.563397246349\n  v: 0.056616045659\n  computed_from: groups\n  needs_review: false\n  notes: "method=between_groups, sign_convention=d = mean(low) - mean(high), n_low=34, n_high=40, mean_low=4.32, mean_high=3.25, sd_low=1.91, sd_high=1.89"\n

Study 2 (Experiment 2): Minimal bridge cases

Effect s2_e1: Minimal High Stakes vs Minimal Low Stakes

paper_key <- "feltzzarpentine2010knowmattersless"
study_id <- 2
effect_id <- "s2_e1"

inputs <- list(
  n_high = 39L,
  n_low = 41L,
  mean_high = 3.23,
  mean_low = 3.29,
  sd_high = 1.58,
  sd_low = 1.76
)
inputs
$n_high
[1] 39

$n_low
[1] 41

$mean_high
[1] 3.23

$mean_low
[1] 3.29

$sd_high
[1] 1.58

$sd_low
[1] 1.76
# Original scale: 1 = Strongly Agree ... 7 = Strongly Disagree.
# Reverse-score so higher values indicate stronger agreement (match other extractions).
inputs$mean_high <- 8 - inputs$mean_high
inputs$mean_low <- 8 - inputs$mean_low
inputs
$n_high
[1] 39

$n_low
[1] 41

$mean_high
[1] 4.77

$mean_low
[1] 4.71

$sd_high
[1] 1.58

$sd_low
[1] 1.76
res_s2_e1 <- compute_effect_size(
  paper_key = paper_key,
  study_id = study_id,
  effect_id = effect_id,
  method_used = "between_groups",
  n_high = inputs$n_high,
  n_low = inputs$n_low,
  mean_high = inputs$mean_high,
  mean_low = inputs$mean_low,
  sd_high = inputs$sd_high,
  sd_low = inputs$sd_low,
  notes_on_assumptions = "Means reverse-scored as (8 - M) because response scale is 1=Strongly Agree ... 7=Strongly Disagree (to align with other extractions where higher=more agreement). Group Ns inferred from total N=119 + reported independent-samples t-test dfs in Notes [10]-[11] (PDF p.17); means/SD from Notes [10]."
)
res_s2_e1$audit
                           paper_key study_id effect_id           design
1 feltzzarpentine2010knowmattersless        2     s2_e1 Between-Subjects
     method_used computed_from_suggested
1 between_groups                  groups
                                                                                                                                       inputs_used
1 method=between_groups, sign_convention=d = mean(low) - mean(high), n_low=41, n_high=39, mean_low=4.71, mean_high=4.77, sd_low=1.76, sd_high=1.58
            d         v           g        v_g
1 -0.03582675 0.0500395 -0.03548097 0.04907825
                                                                                                                                                                                                                                                                                     notes_on_assumptions
1 Means reverse-scored as (8 - M) because response scale is 1=Strongly Agree ... 7=Strongly Disagree (to align with other extractions where higher=more agreement). Group Ns inferred from total N=119 + reported independent-samples t-test dfs in Notes [10]-[11] (PDF p.17); means/SD from Notes [10].
  imputed_flag needs_sensitivity
1        FALSE              TRUE
cat(res_s2_e1$yaml_snippet)
effect_size:\n  metric: SMD\n  d: -0.035826752835\n  v: 0.050039497468\n  computed_from: groups\n  needs_review: false\n  notes: "method=between_groups, sign_convention=d = mean(low) - mean(high), n_low=41, n_high=39, mean_low=4.71, mean_high=4.77, sd_low=1.76, sd_high=1.58"\n

Effect s2_e2: Minimal High Stakes vs Attributer

paper_key <- "feltzzarpentine2010knowmattersless"
study_id <- 2
effect_id <- "s2_e2"

inputs <- list(
  n_high = 39L,
  n_low = 39L,
  mean_high = 3.23,
  mean_low = 3.87,
  sd_high = 1.58,
  sd_low = 1.13
)
inputs
$n_high
[1] 39

$n_low
[1] 39

$mean_high
[1] 3.23

$mean_low
[1] 3.87

$sd_high
[1] 1.58

$sd_low
[1] 1.13
# Original scale: 1 = Strongly Agree ... 7 = Strongly Disagree.
# Reverse-score so higher values indicate stronger agreement (match other extractions).
inputs$mean_high <- 8 - inputs$mean_high
inputs$mean_low <- 8 - inputs$mean_low
inputs
$n_high
[1] 39

$n_low
[1] 39

$mean_high
[1] 4.77

$mean_low
[1] 4.13

$sd_high
[1] 1.58

$sd_low
[1] 1.13
res_s2_e2 <- compute_effect_size(
  paper_key = paper_key,
  study_id = study_id,
  effect_id = effect_id,
  method_used = "between_groups",
  n_high = inputs$n_high,
  n_low = inputs$n_low,
  mean_high = inputs$mean_high,
  mean_low = inputs$mean_low,
  sd_high = inputs$sd_high,
  sd_low = inputs$sd_low,
  notes_on_assumptions = "Means reverse-scored as (8 - M) because response scale is 1=Strongly Agree ... 7=Strongly Disagree (to align with other extractions where higher=more agreement). Group Ns inferred from total N=119 + reported independent-samples t-test dfs in Notes [10]-[11] (PDF p.17); means/SD from Notes [10] and [11]."
)
res_s2_e2$audit
                           paper_key study_id effect_id           design
1 feltzzarpentine2010knowmattersless        2     s2_e2 Between-Subjects
     method_used computed_from_suggested
1 between_groups                  groups
                                                                                                                                       inputs_used
1 method=between_groups, sign_convention=d = mean(low) - mean(high), n_low=39, n_high=39, mean_low=4.13, mean_high=4.77, sd_low=1.13, sd_high=1.58
           d          v          g       v_g
1 -0.4659446 0.05271037 -0.4613288 0.0516712
                                                                                                                                                                                                                                                                                              notes_on_assumptions
1 Means reverse-scored as (8 - M) because response scale is 1=Strongly Agree ... 7=Strongly Disagree (to align with other extractions where higher=more agreement). Group Ns inferred from total N=119 + reported independent-samples t-test dfs in Notes [10]-[11] (PDF p.17); means/SD from Notes [10] and [11].
  imputed_flag needs_sensitivity
1        FALSE              TRUE
cat(res_s2_e2$yaml_snippet)
effect_size:\n  metric: SMD\n  d: -0.465944622655\n  v: 0.052710369646\n  computed_from: groups\n  needs_review: false\n  notes: "method=between_groups, sign_convention=d = mean(low) - mean(high), n_low=39, n_high=39, mean_low=4.13, mean_high=4.77, sd_low=1.13, sd_high=1.58"\n

Study 3 (Experiment 3): Simplified bank cases

Effect s3_e1: Simplified High Stakes vs Simplified Low Stakes

paper_key <- "feltzzarpentine2010knowmattersless"
study_id <- 3
effect_id <- "s3_e1"

inputs <- list(
  n_high = 42L,
  n_low = 40L,
  mean_high = 3.83,
  mean_low = 3.85,
  sd_high = 1.92,
  sd_low = 1.73
)
inputs
$n_high
[1] 42

$n_low
[1] 40

$mean_high
[1] 3.83

$mean_low
[1] 3.85

$sd_high
[1] 1.92

$sd_low
[1] 1.73
# Original scale: 1 = Strongly Agree ... 7 = Strongly Disagree.
# Reverse-score so higher values indicate stronger agreement (match other extractions).
inputs$mean_high <- 8 - inputs$mean_high
inputs$mean_low <- 8 - inputs$mean_low
inputs
$n_high
[1] 42

$n_low
[1] 40

$mean_high
[1] 4.17

$mean_low
[1] 4.15

$sd_high
[1] 1.92

$sd_low
[1] 1.73
res_s3_e1 <- compute_effect_size(
  paper_key = paper_key,
  study_id = study_id,
  effect_id = effect_id,
  method_used = "between_groups",
  n_high = inputs$n_high,
  n_low = inputs$n_low,
  mean_high = inputs$mean_high,
  mean_low = inputs$mean_low,
  sd_high = inputs$sd_high,
  sd_low = inputs$sd_low,
  notes_on_assumptions = "Means reverse-scored as (8 - M) because response scale is 1=Strongly Agree ... 7=Strongly Disagree (to align with other extractions where higher=more agreement). Means/SD and t(df) from Notes [14] (PDF p.18). Group Ns inferred from Notes [14] and cross-comparison dfs in Notes [14] and [16] (PDF p.18)."
)
res_s3_e1$audit
                           paper_key study_id effect_id           design
1 feltzzarpentine2010knowmattersless        3     s3_e1 Between-Subjects
     method_used computed_from_suggested
1 between_groups                  groups
                                                                                                                                       inputs_used
1 method=between_groups, sign_convention=d = mean(low) - mean(high), n_low=40, n_high=42, mean_low=4.15, mean_high=4.17, sd_low=1.73, sd_high=1.92
            d          v           g        v_g
1 -0.01092991 0.04881027 -0.01082707 0.04789605
                                                                                                                                                                                                                                                                                            notes_on_assumptions
1 Means reverse-scored as (8 - M) because response scale is 1=Strongly Agree ... 7=Strongly Disagree (to align with other extractions where higher=more agreement). Means/SD and t(df) from Notes [14] (PDF p.18). Group Ns inferred from Notes [14] and cross-comparison dfs in Notes [14] and [16] (PDF p.18).
  imputed_flag needs_sensitivity
1        FALSE              TRUE
cat(res_s3_e1$yaml_snippet)
effect_size:\n  metric: SMD\n  d: -0.010929910312\n  v: 0.048810270453\n  computed_from: groups\n  needs_review: false\n  notes: "method=between_groups, sign_convention=d = mean(low) - mean(high), n_low=40, n_high=42, mean_low=4.15, mean_high=4.17, sd_low=1.73, sd_high=1.92"\n

Study 4 (Experiment 4): High vs low stakes bridge (trucks)

Effect s4_e1: High Stakes Bridge vs Low Stakes Bridge

paper_key <- "feltzzarpentine2010knowmattersless"
study_id <- 4
effect_id <- "s4_e1"

inputs <- list(
  n_high = 70L,
  n_low = 70L,
  mean_high = 3.83,
  mean_low = 3.40,
  sd_high = 1.96,
  sd_low = 1.74
)
inputs
$n_high
[1] 70

$n_low
[1] 70

$mean_high
[1] 3.83

$mean_low
[1] 3.4

$sd_high
[1] 1.96

$sd_low
[1] 1.74
# Original scale: 1 = Strongly Agree ... 7 = Strongly Disagree.
# Reverse-score so higher values indicate stronger agreement (match other extractions).
inputs$mean_high <- 8 - inputs$mean_high
inputs$mean_low <- 8 - inputs$mean_low
inputs
$n_high
[1] 70

$n_low
[1] 70

$mean_high
[1] 4.17

$mean_low
[1] 4.6

$sd_high
[1] 1.96

$sd_low
[1] 1.74
res_s4_e1 <- compute_effect_size(
  paper_key = paper_key,
  study_id = study_id,
  effect_id = effect_id,
  method_used = "between_groups",
  n_high = inputs$n_high,
  n_low = inputs$n_low,
  mean_high = inputs$mean_high,
  mean_low = inputs$mean_low,
  sd_high = inputs$sd_high,
  sd_low = inputs$sd_low,
  notes_on_assumptions = "Means reverse-scored as (8 - M) because response scale is 1=Strongly Agree ... 7=Strongly Disagree (to align with other extractions where higher=more agreement). Total N=140 from Experiment 4 text (PDF p.12); means/SD and t(df) from Notes [16] (PDF p.18). Group Ns inferred from Notes [16] cross-comparison dfs (PDF p.18)."
)
res_s4_e1$audit
                           paper_key study_id effect_id           design
1 feltzzarpentine2010knowmattersless        4     s4_e1 Between-Subjects
     method_used computed_from_suggested
1 between_groups                  groups
                                                                                                                                      inputs_used
1 method=between_groups, sign_convention=d = mean(low) - mean(high), n_low=70, n_high=70, mean_low=4.6, mean_high=4.17, sd_low=1.74, sd_high=1.96
          d          v        g        v_g
1 0.2320226 0.02876648 0.230759 0.02845399
                                                                                                                                                                                                                                                                                                                notes_on_assumptions
1 Means reverse-scored as (8 - M) because response scale is 1=Strongly Agree ... 7=Strongly Disagree (to align with other extractions where higher=more agreement). Total N=140 from Experiment 4 text (PDF p.12); means/SD and t(df) from Notes [16] (PDF p.18). Group Ns inferred from Notes [16] cross-comparison dfs (PDF p.18).
  imputed_flag needs_sensitivity
1        FALSE              TRUE
cat(res_s4_e1$yaml_snippet)
effect_size:\n  metric: SMD\n  d: 0.232022644708\n  v: 0.028766481135\n  computed_from: groups\n  needs_review: false\n  notes: "method=between_groups, sign_convention=d = mean(low) - mean(high), n_low=70, n_high=70, mean_low=4.6, mean_high=4.17, sd_low=1.74, sd_high=1.96"\n