У меня есть набор данных с 2 переменными: идентификатор и сумма. Я хочу сделать выборку записей (с заменой), пока сумма выборочных сумм не превысит первоначальную сумму.
У меня есть пример кода, который работает, но есть ли лучший способ? В конечном итоге я хочу выполнить 100 000 итераций для большого набора данных, и мой метод выглядит неуклюжим.
В приведенном ниже коде я просто выполняю 3 итерации.
set.seed(7777)
df <- data.frame(ID = seq(1,5),
AMT = sample(1:100, 5, replace = T))
threshold <- sum(df$AMT)
output <- NULL
for (i in 1:3) {
repeat{
sel <- df[sample(nrow(df), size = 1),]
sel <- cbind(iter=i, sel)
output <- rbind(output,
sel)
check_sum <- subset(output, iter == i)
if(sum(check_sum$AMT) > threshold) break
}
}