A simulation often turns numeric draws into success or failure flags. A threshold defines which draws count as successful.

Program

Play the script to move the threshold and watch the success rate change.

threshold
threshold_trials.R
Replay: real traced execution (multi-file project)
draws <- c(0.12, 0.91, 0.44, 0.68, 0.27)
threshold <- 0.50
success <- draws >= threshold
success_count <- sum(success)
rate <- success_count / length(draws)
cat(rate, "\n", sep = "")
draws <- c(0.12, 0.91, 0.44, 0.68, 0.27)
threshold <- 0.30
success <- draws >= threshold
success_count <- sum(success)
rate <- success_count / length(draws)
cat(rate, "\n", sep = "")
draws <- c(0.12, 0.91, 0.44, 0.68, 0.27)
threshold <- 0.70
success <- draws >= threshold
success_count <- sum(success)
rate <- success_count / length(draws)
cat(rate, "\n", sep = "")
  1. draws ← 0.12, 0.91, 0.44, 0.68, 0.27

    1draws <- c(0.12, 0.91, 0.44, 0.68, 0.27)2threshold <- 0.50
    values this step0.12, 0.91, 0.44, 0.68, 0.27draws
  2. threshold ← 0.50

    1draws <- c(0.12, 0.91, 0.44, 0.68, 0.27)2threshold <- 0.503success <- draws >= threshold
    values this step0.50threshold
  3. success ← FALSE, TRUE, FALSE, TRUE, FALSE

    2threshold <- 0.503success <- draws >= threshold4success_count <- sum(success)
    values this stepFALSE, TRUE, FALSE, TRUE, FALSEsuccess5 drawsdraws0.50threshold
  4. success_count ← 2

    3success <- draws >= threshold4success_count <- sum(success)5rate <- success_count / length(draws)
    values this step2success_count2 TRUE valuessuccess
  5. rate ← 0.4

    4success_count <- sum(success)5rate <- success_count / length(draws)6cat(rate, "\n", sep = "")
    values this step0.4rate2success_count5length(draws)
  6. cat(rate, " ", sep = "")

    5rate <- success_count / length(draws)6cat(rate, "\n", sep = "")
    output0.4
    values this step0.4rate
  1. draws ← 0.12, 0.91, 0.44, 0.68, 0.27

    1draws <- c(0.12, 0.91, 0.44, 0.68, 0.27)2threshold <- 0.30
    values this step0.12, 0.91, 0.44, 0.68, 0.27draws
  2. threshold ← 0.30

    1draws <- c(0.12, 0.91, 0.44, 0.68, 0.27)2threshold <- 0.303success <- draws >= threshold
    values this step0.30threshold
  3. success ← FALSE, TRUE, TRUE, TRUE, FALSE

    2threshold <- 0.303success <- draws >= threshold4success_count <- sum(success)
    values this stepFALSE, TRUE, TRUE, TRUE, FALSEsuccess5 drawsdraws0.30threshold
  4. success_count ← 3

    3success <- draws >= threshold4success_count <- sum(success)5rate <- success_count / length(draws)
    values this step3success_count3 TRUE valuessuccess
  5. rate ← 0.6

    4success_count <- sum(success)5rate <- success_count / length(draws)6cat(rate, "\n", sep = "")
    values this step0.6rate3success_count5length(draws)
  6. cat(rate, " ", sep = "")

    5rate <- success_count / length(draws)6cat(rate, "\n", sep = "")
    output0.6
    values this step0.6rate
  1. draws ← 0.12, 0.91, 0.44, 0.68, 0.27

    1draws <- c(0.12, 0.91, 0.44, 0.68, 0.27)2threshold <- 0.70
    values this step0.12, 0.91, 0.44, 0.68, 0.27draws
  2. threshold ← 0.70

    1draws <- c(0.12, 0.91, 0.44, 0.68, 0.27)2threshold <- 0.703success <- draws >= threshold
    values this step0.70threshold
  3. success ← FALSE, TRUE, FALSE, FALSE, FALSE

    2threshold <- 0.703success <- draws >= threshold4success_count <- sum(success)
    values this stepFALSE, TRUE, FALSE, FALSE, FALSEsuccess5 drawsdraws0.70threshold
  4. success_count ← 1

    3success <- draws >= threshold4success_count <- sum(success)5rate <- success_count / length(draws)
    values this step1success_count1 TRUE valuesuccess
  5. rate ← 0.2

    4success_count <- sum(success)5rate <- success_count / length(draws)6cat(rate, "\n", sep = "")
    values this step0.2rate1success_count5length(draws)
  6. cat(rate, " ", sep = "")

    5rate <- success_count / length(draws)6cat(rate, "\n", sep = "")
    output0.2
    values this step0.2rate
threshold `draws >= threshold` converts numeric draws into logical success flags.
sum logical `sum(success)` counts `TRUE` values because `TRUE` acts like 1.
rate A simulated rate is a count divided by the number of trials.