Bevezetés a véletlenszám-generátorba R

Az R-ben szereplő véletlenszám-generátor fontos elem az adattudományban és a statisztika véletlenszerű számokat generál, vagy véletlenszerű elemeket generál. Például véletlenszerű emberek kiválasztása a népesség adatkeretéből az adatok elemzése és betekintés céljából. A véletlen számok előállításának egyszerű módja a függvények használata. A véletlen számok különféle területeken hasznosak, mint például a modellezés, az adattudomány és a mintavétel (statisztika). A hálózat bővítésével a véletlenszám-generátorban végzett kutatás fejlesztése szükségesnek tűnik. A véletlen számok kulcsszerepet játszanak a biztonsági rendszerekben, és kifinomult rendszert biztosítanak a hálózat biztonságának szigorításához.

Az alábbiakban bemutatunk egy példát az 50 és 1 és 99 közötti érték előállítására és kinyomtatására a runif () függvény használatával.

Kód

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

Kimenet:

A véletlenszám-generátor segítséget nyújt számjegyek olyan sorozatának elkészítésében, amely menthető funkcióként, és később felhasználható a műveletek során. A véletlenszám-generátor valójában nem állít elő véletlenszerű értékeket, mivel ehhez SEED-nek nevezett kiindulási értéket igényel. A véletlenszám-generáció a SET.SEED () funkciókkal vezérelhető. A SET.SEED () parancs egész számot használ a véletlen generációk számának elindításához. Ezenkívül a generált véletlenszám-sorozat menthető és később felhasználható.

Például, a kódot 10 mintavételhez használjuk, amelyek száma 1 és 100 között van, és megismételjük párszor.

A SET.SEED () első alkalommal a vetőmagnál 5-nél kezdődik, másodszor pedig a 12-es vetőmag. Tíz véletlenszámot generáltak minden iterációhoz.

Kód

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

Kimenet:

Kód:

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

Kimenet:

Véletlenszám-generátor funkciói

Az R-ben beépített funkciók vannak, amelyek véletlen számok halmazát generálják a standard eloszlásokból, mint a normál, egyenletes, binomiális eloszlások stb. A következő szakaszban különféle funkciókat fogunk látni, például runif (), rnorm (), rbinom () és rexp () véletlen számok előállításához.

1. Egyenletesen eloszlatott véletlen számok

Az egyenletes eloszlású véletlenszám előállításához a runif () -et használjuk. Alapértelmezett tartomány: 0–1. Először meg kell adnunk a létrehozandó számot. Ezenkívül meg lehet határozni az eloszlás tartományát a max és min argumentum segítségével.

Kód

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

Kimenet:

Kód

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

Kimenet:

Kód

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

Kimenet:

Kód

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

Kimenet:

2. Normál eloszlású véletlen számok

A normál eloszlásból számok előállításához az rnorm () értéket kell használni. Ahol az átlag 0 és a szórás 1. Először meg kell határoznunk a létrehozandó számot. Ezen túlmenően az átlag és az SD (szórás) argumentumok is meghatározhatók.

Kód

rnorm(5)

Kimenet:

Kód

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

Kimenet:

Kód

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

Kimenet:

Az rnorm () segítségével normál eloszlott véletlen számot állíthatunk elő

3. Binomális véletlen számok

A binomiális véletlen számok véletlen számok diszkrét halmaza. A binomiális szám kiszámításához n értékét a kívánt kísérleti számra változtatjuk. Például az 5. próba, ahol n = 5

Kód:

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

Kimenet:

4. Exponenciálisan eloszlott véletlen számok

Az exponenciális eloszlást az elektromos alkatrészek élettartamának leírására használják. Például egy elektromos lámpa átlagos élettartama 1500 óra.

Kód:

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

Kimenet:

Egész szám és lebegőpontos szám generálása

Most megtanuljuk, hogyan lehet véletlenszerű számokat generálni az R-ben elérhető két típusú számhoz. Egész szám és lebegőpontos vagy lebegőpontos szám. R automatikusan felismeri a két kategóriát, és szükség szerint átmegy rajtuk. Az R egész szám az egész számból áll, amely lehet pozitív vagy negatív, míg a lebegőpontos szám valós számot tartalmaz. Olyan értékből áll, amely meghatározza a legközelebbi számjegyet a tizedes pontból. Az érték binárisan van megadva, és a jelzés elérhető az áthelyezhető bináris helyek számán. Véletlen egész számok előállításához a beépített minta () függvény megbízható és gyors. Az üzleti igények megkövetelik az adatok mintájának elemzését. A minta kiválasztásához R minta () funkcióval rendelkezik. Az 5 és 20 közötti véletlen egész számok előállításához a minta funkciókódját használjuk.

Kód

rn = sample(5:20, 5)
rn

Kimenet:

Az 5 véletlenszerű mintát generáljuk

A fenti példában öt értéket állítottunk elő az érvelés szerint. Láttuk, hogyan lehet kiválasztani egy véletlenszerű értékek alcsoportját R-ben. Valósidejű helyzetben véletlenszerű mintát kell létrehoznia egy meglévő adatkeretből. Az adatmérnökök mindennapi munkájuk során megválasztják az adatmintát megfigyelés céljából egy nagy adatkészletből.

Kód

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

Kimenet:

Véletlenszerű minta előállítása az adatkeretnevekből Height_Weight_Data formátumban

Néhány dolgot meg kell emlékezni a lebegőpontos számokra vonatkozóan.

  • Bináris jellegűek.
  • A képviselt valós szám korlátozott.

Most lássuk, hogyan generálható véletlenszerűen lebegő szám -10 és 10 között

Kód

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

Kimenet:

Véletlenszerű lebegőpontos számok generálása

A Runif () a véletlenszerű egységet jelenti. A fenti példában 10 véletlenszerűen elosztott számot derítettünk ki (-10: 10) között

Következtetés

Ebben a cikkben megvitattuk a véletlenszám-generátort R-ben és láthattuk, hogy a SET.SEED funkció hogyan használja a véletlenszám-generáció vezérlését. Láttuk, hogy a SEED használható reprodukálható véletlen számokhoz, amelyek képesek véletlen számok sorozatát előállítani, és egy véletlenszám-vetőmag-generátort beállítani a SET.SEED () segítségével. Az elemzés során alkalmanként a véletlenszerű számok előállítását igénylő statisztikai módszert alkalmazzák. Az R több funkcióval van felszerelve, például egységes, normál, binomiális, Poisson, exponenciális és gamma funkcióval, amely lehetővé teszi a leggyakoribb valószínűség-eloszlás szimulálását.

Ajánlott cikkek

Ez egy útmutató az R véletlenszám-generátorhoz. Itt tárgyaljuk a véletlenszám-generátor bevezetését és funkcióit az R-ben, a megfelelő példával együtt. A további javasolt cikkeken keresztül további információkat is megtudhat -

  1. Lineáris regresszió R-ben
  2. Binomiális eloszlás R-ben
  3. Logisztikus regresszió R-ben
  4. Vonalas grafikon R-ben
  5. Útmutató a véletlenszám-generátorhoz Pythonban
  6. Véletlenszám-generátor C # -ben
  7. Véletlenszám-generátor a PHP-ben

Kategória: