Въведение в генератора на случайни числа в R
Генератор на случайни числа в R е важен аспект на науката за данни, а статистиката генерира случайни числа или генерира случайни елементи. Например, избиране на случайни хора от рамка от данни за населението, за да се анализират и получат представа за данните. Просто решение за генериране на произволни числа е чрез използване на функции. Случайните числа са полезни в различни области като моделиране, наука за данни и вземане на проби (статистика). С разширяването на мрежата разработването на изследвания в генератор на произволни числа изглежда необходимо. Случайните числа играят ключова роля в системите за сигурност и ни предоставят сложна система за затягане на сигурността на мрежата.
Ето един пример по-долу за генериране и отпечатване на 50 стойности между 1 и 99 с помощта на функция runif ().
код
RandomNum <- runif(50, 1, 99)
RandomNum
изход:
Генератор на произволни числа помага да се генерира последователност от цифри, които могат да бъдат записани като функция, която да бъде използвана по-късно в операциите. Генераторът на случайни числа всъщност не произвежда случайни стойности, тъй като изисква първоначална стойност, наречена SEED. Генерирането на произволни числа може да се управлява с функции SET.SEED (). Командата SET.SEED () използва цяло число за стартиране на произволен брой поколения. Освен това, генерираната произволна последователност от числа може да бъде запазена и използвана по-късно.
Например, ние ще използваме кода, за да извадим 10 числа между 1 и 100 и ще го повторим няколко пъти.
За първи път SET.SEED () ще започне при семе като 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
изход:
Функции на генератора на случайни числа
В R има вградени функции за генериране на набор от произволни числа от стандартни разпределения като нормални, еднообразни, биномиални разпределения и т.н. В следващия раздел ще видим различни функции като runif (), rnorm (), rbinom () и rexp () за генериране на произволни числа.
1. Равномерно разпределени случайни числа
За генериране на равномерно разпределен случайен номер runif () се използва. Диапазон по подразбиране 0 - 1. Първо, ще трябва да посочим номера, който трябва да бъде генериран. В допълнение, обхватът на разпределението може да бъде зададен с помощта на аргумента max и min.
код
# 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. Нормално разпределени случайни числа
За генериране на числа от нормална дистрибуция се използва rnorm (). Когато средната стойност е 0, а стандартното отклонение е 1. Първо, ще се наложи да посочим броя, който трябва да бъде генериран. В допълнение, средно и SD (стандартно отклонение) могат да бъдат зададени аргументи.
код
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)
изход:
Използване на rnorm () за генериране на нормално разпределено произволно число
3. Биномиални случайни числа
Биномиалните случайни числа са дискретен набор от случайни числа. За да се получи биномиално число стойността на n се променя на желания брой изпитвания. Например опит 5, където n = 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)
изход:
Генериране на цяло число и число с плаваща точка
Сега ще научим за генерирането на произволни числа за два вида числа, налични в R. Те са цяло число и плаващи точки или числа с плаваща запетая. R автоматично ще открие двете категории и ще се движи през тях, когато възникне нужда. Цяло число в R се състои от цялото число, което може да бъде положително или отрицателно, докато числото с плаваща запетая включва реални числа. Състои се от стойност, която определя най-далечната цифра от десетичната запетая. Стойността е в двоична форма и е налична индикация за броя на двоичните места за преместване. Генерирането на произволни цели числа вградена в пробата () функция е надеждна и бърза. Бизнес нуждите изискват да анализирате извадка от данни. За да изберете извадка R има функция sample (). За да се генерират произволни цели числа между 5 и 20 под примерен код на функцията.
код
rn = sample(5:20, 5)
rn
изход:
Генериране на произволна извадка от 5
В горния пример са генерирани пет стойности като посочен аргумент. Видяхме как може да бъде избран подмножество от случайни стойности в R. В ситуация в реално време ще се изисква да генерирате произволна извадка от съществуваща рамка от данни. Изборът на извадка от данни за наблюдение от голям набор от данни е една от задачите, които инженерите по данни предприемат в ежедневния си живот.
код
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
изход:
Генериране на произволна извадка от имена на рамки от данни като Height_Weight_Data
Малко неща, които трябва да запомните по отношение на числата с плаваща запетая.
- Те са бинарни по своя характер.
- Ограничени в представените реални числа.
Сега нека да видим как може да се генерира произволно плаващо число между -10 до 10
код
Random <- runif(n=10, min=-10, max=10)
Random
изход:
Генериране на произволни числа с плаваща точка
Runif () се отнася до случайната униформа. В горния пример сме извели 10 произволни разпределени числа между (-10: 10)
заключение
В тази статия сме обсъдили генератора на произволни числа в R и видяхме как функцията SET.SEED се използва за контрол на генерирането на произволни числа. Ние видяхме как SEED може да се използва за възпроизводими случайни числа, които са в състояние да генерират последователност от произволни числа и да настроят генератор на семена от произволни числа с SET.SEED (). По време на анализа се използва статистически метод, който изисква генериране на произволни числа. R е оборудван с множество функции като равномерна, нормална, биномиална, пуассонова, експоненциална и гама функция, която позволява да се симулира най-честото разпределение на вероятността.
Препоръчителни статии
Това е ръководство за генератора на случайни числа в R. Тук обсъждаме въвеждането и функциите на генератора на случайни числа в R, заедно с подходящия пример. Можете да разгледате и другите ни предложени статии, за да научите повече -
- Линейна регресия в R
- Биномиално разпределение в R
- Логистична регресия в R
- Линейна графика в R
- Ръководство за генератор на случайни числа в Python
- Генератор на случайни числа в C #
- Генератор на произволни числа в PHP