Поскольку единственным критерием ФП является выборочное среднее значение, близкое к 3,5, без учета дисперсии, возможен следующий подход:
- рассчитать отклонение от 3,5,
- отсортировав данные по этому отклонению,
- вычислите кумулятивное среднее значение X, отсортированное по абсолютному отклонению от 3,5,
- перед тем, как произвести выборку, подмножество данных получит совокупное среднее значение около 3,5.
Код:
library(data.table)
nr <- 5e5
ns <- 5e4
DT <- data.table(X=rnorm(nr, 4.5))
target <- 3.5
dev <- 0.05
setorder(DT[, absDev := abs(X - target)], absDev)
DT[, cummean := cumsum(X) / seq_len(.N)]
x <- DT[(target-dev) <= cummean & cummean <= (target+dev), sample(X, ns)]
mean(x)
#[1] 3.549371