Функция случайных чисел, учитывающая совокупную частоту - PullRequest
1 голос
/ 23 января 2012

Набор данных переписи для фамилии и вхождений имени содержит cumulative frequency и frequency.Как мне получить случайное имя с вероятностью того, что оно будет выбрано так, как оно встречается в реальном мире?

1 Ответ

6 голосов
/ 23 января 2012

Просто сгенерируйте случайное действительное число в диапазоне 0-100 и найдите соответствующую запись в наборе данных кумулятивной частоты.

Пример, скажем, ваше случайное число дает x = 19.41. Посмотрите в таблицу (отсортированную по совокупным частотам) и найдите первую, которая имеет значение, большее или равное x

WALLACE        0.081 19.315    106
WOODS          0.080 19.395    107
COLE           0.080 19.476    108
WEST           0.080 19.555    109
JORDAN         0.078 19.634    110

в этом примере вы получаете 'COLE'

...