Я хотел бы взять произвольный образец строк из data.frame, применить функцию к подмножеству, затем взять образец из оставшихся строк, применить функцию к новому подмножеству (с разными параметры) и т. д.Возьмите образец из уменьшающейся популяции
Простой пример если бы 5% от населения умирает каждый месяц, в месяце 2 мне нужно население минус тех из них, которые умерли во время месяца 1.
Я поставил вместе очень подробный метод ведения это с участием, где я сохранить идентификаторы из выбранных строк, то подмножество их из данных для второго периода и т.д.
library(data.table)
dt <- data.table(Number=1:100, ID=paste0("A", 1:100))
first<-dt[sample(nrow(dt), nrow(dt)*.05)]$ID
mean(dt[ID %in% first]$Number)
second<-dt[!(ID %in% first)][sample(nrow(dt[!(ID %in% first)]),
nrow(dt[!(ID %in% first)])*.05)]$ID
mean(dt[ID %in% c(first,second)]$Number)
dt[!(ID %in% first)][!(ID %in% second)] #...
Очевидно, что это не является устойчивым мимо пару периодов. Каков лучший способ сделать это? Я предполагаю, что это стандартный метод, но не мог думать, что искать конкретно. Спасибо за любой вклад.
Это было бы хорошо, но как я могу сгенерировать группы, описанные выше? То есть, случайное подмножество из исходной совокупности, затем другое случайное подмножество от населения минус подмножество1 и т. Д. – moman822
Подумайте, какова ваша фактическая проблема. Вы действительно хотите имитировать (а) ровно 5% умирающего населения или (б) 5% -ный шанс каждого умирающего населения? В качестве альтернативы, вы хотите рассматривать каждого члена как дробную жизнь и переносить вероятность того, что каждый человек все еще жив? –
Ну, на самом деле это не то, на что я смотрю, просто простой способ его создания. И в любом случае, разве мне не нужно все время удалять «мертвые» наблюдения из моего населения? Можете ли вы указать мне на что-то важное? – moman822