Увод у генератор случајних бројева у Р

Генератор случајних бројева у Р важан је аспект науке о подацима и статистика генерише случајне бројеве или генерише случајне елементе. На пример, одабир случајних људи из оквира података о популацији да би се анализирали и добили увид у податке. Једноставно решење за генерисање случајних бројева је коришћењем функција. Насумични бројеви су корисни у различитим областима као што су моделирање, наука о подацима и узорковање (статистика). С ширењем мреже чини се да је неопходно развијање истраживања на генератору случајних бројева. Насумични бројеви играју кључну улогу у сигурносним системима и пружају нам софистициран систем за јачање сигурности мреже.

Ево једног примера у даљем тексту за генерисање и испис 50 вредности између 1 и 99 помоћу функције руниф ().

Код

RandomNum <- runif(50, 1, 99)
RandomNum

Излаз:

Генератор случајних бројева помаже у генерисању низа цифара које се могу сачувати као функцију која ће се касније користити у операцијама. Генератор случајних бројева заправо не производи случајне вредности јер захтева почетну вредност која се зове СЕЕД. Генерирање случајних бројева може се контролирати помоћу СЕТ.СЕЕД () функција. Наредба СЕТ.СЕЕД () користи цео број да покрене случајни број генерација. Даље, генерисани редослед случајних бројева може се сачувати и касније користити.

На пример, користићемо код за узорковање 10 бројева између 1 и 100 и поновимо га неколико пута.

Први пут ће СЕТ.СЕЕД () започети са семеном као 5, а други пут као семе 12. Десет насумичних бројева је генерисано за сваку итерацију.

Код

set.seed(5) # random number will generate from 5
TenRandomNumbers <- sort(sample.int(100, 10))
TenRandomNumbers

Излаз:

Шифра:

set.seed(12) # random number will generate from 12
TenRandomNumbers <- sort(sample.int(100, 10))
TenRandomNumbers

Излаз:

Функције генератора случајних бројева

У Р-у постоје уграђене функције за генерисање скупа случајних бројева из стандардних дистрибуција попут нормалних, униформних, биномних дистрибуција, итд. У следећем одељку ћемо видети различите функције попут руниф (), рнорм (), рбином () и рекп () за генерисање случајних бројева.

1. Равномјерно распоређени случајни бројеви

За генерисање једнолико расподељеног случајног броја користи се руниф (). Подразумевани опсег 0 - 1. Прво ћемо захтевати да одредимо број који треба да се генерише. Поред тога, распон дистрибуције може се одредити користећи аргумент мак и мин.

Код

# To get 5 uniformly distributed Random Numbers
runif(5)

Излаз:

Код

# Get 5 random Numbers from 5 to 99
runif(5, min=5, max=99)

Излаз:

Код

#To generate 5 integers from 0 to 100
floor(runif(5, min=0, max=101))

Излаз:

Код

# Generating integers without replacement
sample(1:100, 5, replace=FALSE)

Излаз:

2. Нормално расподељени случајни бројеви

За генерисање бројева из нормалне дистрибуције користи се рнорм (). Где је средња вредност 0, а стандардно одступање је 1. Прво, захтеваћемо да одредимо број који треба да се генерише. Поред тога, могу се специфицирати средња вредност и СД (стандардна девијација).

Код

rnorm(5)

Излаз:

Код

# using a different mean and standard deviation
rnorm(4, mean=70, sd=10)

Излаз:

Код

# histogram of the numbers to verify the distribution
X <- rnorm(400, mean=70, sd=10)
hist(X)

Излаз:

Кориштење рнорм () за генерисање нормалног дистрибуираног случајног броја

3. Биномни случајни бројеви

Биномни случајни бројеви су дискретни скуп случајних бројева. Да би се добио биномни број, вредност н се мења у жељени број покуса. На пример пробно време 5, где је н = 5

Шифра:

n= 5
p=.5
rbinom(1, n, p)
# 1 success in 5 trails
n= 5
p=.5
rbinom(19, n, p) # 10 binomial numbers

Излаз:

4. Експоненцијално распоређени случајни бројеви

Експоненцијална дистрибуција користи се за описивање животног вијека електричних компонената. На пример, средњи животни век електричне лампе је 1500 сати.

Шифра:

x=rexp(100, 1/1500)
hist(x, probability=TRUE, col= gray(.9), main="exponential mean=1500")
curve(dexp(x, 1/1500), add= T)

Излаз:

Генерирање броја целог броја и плутајуће тачке

Сада ћемо научити о генерисању случајних бројева за две врсте бројева доступних у Р. Они су цели бројеви и плутајуће тачке или бројеви са зарезом. Р ће аутоматски открити две категорије и прелазити преко њих у случају потребе. Цели број у Р састоји се од целог броја који може бити позитиван или негативан док број с помичном тачком укључује реалне бројеве. Састоји се од вредности која одређује најудаљенију цифру са децималне тачке. Вриједност је у бинарној форми, а индикација је доступна на броју бинарних мјеста за прелазак. Генерисање случајних целих бројева уграђених узорака () функција је поуздана и брза. Пословне потребе захтевају да анализирате узорак података. За одабир узорка Р има сампле () функцију. Да би се генерисали случајни цели бројеви између 5 и 20 испод кода функције узорка.

Код

rn = sample(5:20, 5)
rn

Излаз:

Генерисање случајног узорка од 5

У горњем примјеру, генерирано је пет вриједности као аргумент. Видели смо како се може изабрати подскуп случајних вредности у Р. У стварном времену од вас ће се морати генерирати случајни узорак из постојећег оквира података. Одабир узорка података за посматрање из великог скупа података један је од послова које инжењери података обављају у свом свакодневном животу.

Код

Height_Weight_Data <- read.csv("test.csv") # to test this please download csv file
Height_Weight_Data
# Height_Weight_Data sample data frame; selecting a random subset in r
Sample <- Height_Weight_Data(sample(nrow(Height_Weight_Data), 5), ) # pick 5 random rows from dataset
Sample

Излаз:

Генерисање случајних узорака из назива оквира података као Хеигхт_Веигхт_Дата

Неколико ствари које треба запамтити у вези с бројевима с помичним зарезом.

  • Они су бинарне природе.
  • Ограничени у реалном броју представљени.

Сада да видимо како се може произвести случајни плутајући број између -10 до 10

Код

Random <- runif(n=10, min=-10, max=10)
Random

Излаз:

Генерисање случајних бројева са зарезом

Руниф () се односи на случајну униформу. У горњем примеру смо извукли 10 насумично расподељених бројева између (-10: 10)

Закључак

У овом чланку смо разговарали о генератору случајних бројева у Р и видели смо како се СЕТ.СЕЕД функција користи за контролу генерисања случајних бројева. Видели смо како СЕЕД може да се користи за репродуктивне случајне бројеве који су у стању да генеришу низ случајних бројева и подешавају генератор семена случајних бројева помоћу СЕТ.СЕЕД (). Током анализе повремено се користи статистичка метода која захтева генерисање случајних бројева. Р је опремљен са више функција као што су једнообразна, нормална, биномна, Поиссонова, експоненцијална и гама функција која омогућава симулирање најчешће расподељене вероватноће.

Препоручени чланци

Ово је водич за Генератор случајних бројева у Р. Овде смо расправљали о увођењу и функцијама Генератор случајних бројева у Р заједно са одговарајућим примером. Можете и да прођете кроз друге наше предложене чланке да бисте сазнали више -

  1. Линеарна регресија у Р
  2. Биномна дистрибуција у Р
  3. Логистичка регресија у Р
  4. Линијски графикон у Р
  5. Водич за генератор случајних бројева у Питхон-у
  6. Генератор случајних бројева у Ц #
  7. Генератор случајних бројева у ПХП-у

Категорија: