data1=data.frame("School"=c(1,1,1,1,1,1,2,2,2,2,2,2,3,3,3,3,3,3,4,4,4,4,4,4,5,5,5,5,5,5),
"Group"=c(1,1,1,2,2,2,1,1,1,2,2,2,1,1,1,2,2,2,1,1,1,2,2,2,1,1,1,2,2,2),
"Class"=c('A','B','C','A','B','C','A','B','C','A','B','C','A','B','C','A','B','C','A','B','C','A','B','C','A','B','C','A','B','C'),
"Size"=c(459,441,410,201,327,156,129,427,249,331,477,458,288,472,275,449,424,469,386,387,103,320,284,277,481,167,348,247,115,193))
data2=data.frame("ID"=c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
"Group"=c(2,2,2,2,1,1,1,2,2,2,2,2,2,1,1,2,1,2,1,1,2,2,2,2,2,1,1,1,1,1),
"Class"=c('A','B','C','B','C','C','A','A','A','B','B','A','B','A','C','C','B','A','B','A','B','C','B','A','C','B','B','C','C','B'),
"Funds"=c(5,8,9,4,6,3,5,7,6,7,6,7,6,7,6,7,4,9,5,7,5,5,5,7,9,7,6,9,4,7),
"Ratio"=c(2,2,3,1,1,2,3,3,1,3,3,3,3,1,1,3,2,1,1,1,3,1,3,3,1,2,1,3,1,3),
"WEIGHT"=c(162,65,104,118,105,49,107,93,25,24,103,115,64,186,57,123,86,181,70,111,154,135,37,73,127,148,188,169,73,52))
У меня есть данные1 и данные2, и я надеюсь привести простой пример.
В данных1 вы видите число «Школа» и «Размер» комбинаций «Группа» X «Класс». В data2 у вас есть информация о «фондах» и «соотношении» для каждой из комбинаций «группа» и «класс». В data2 у вас также есть «ВЕС», который равен кадру выборки, то есть разные «идентификаторы имеют разный« вес »или важность.
I sh для создания данных3, которые будут выглядеть следующим образом :
В целом, я sh для данных3 будет иметь sum(data1$Size)
строк. sh чтобы скопировать строки «Размер» для каждой комбинации «Школа», «Группа», «Х», «Класс» из данных1. Затем я выберу sh для выборки с заменой на 'Group' X 'Class' 'Funds' and 'Ratio' from data2, используя WEIGHTS для информирования о вероятности выбора каждой строки для заполнения data3.