Funkcija Sample() u R

Funkcija Sample U R



U R-u dobivamo nasumične uzorke vrijednosti iz vektora ili popisa pomoću funkcije sample(). Omogućuje nam da nasumično odaberemo podskup podataka koji je koristan u mnogim statističkim primjenama. Ako je ulaz popis u funkciji sample(), izlaz će također biti popis s istim brojem elemenata, ali s odabranim elementima. Ovaj članak demonstrira funkciju sample() za R s implementacijom koja postavlja različite argumente.

Primjer 1: Upotreba funkcije Sample() s argumentom podataka

Funkcija sample() od R mora imati uzorak podataka za nasumično generiranje broja. Uzorak podataka je obavezni argument funkcije sample() čiji je kod naveden u sljedećem:

podaciX < - c ( 10 , dvadeset , 30 , 40 , pedeset , 60 , 70 , 80 , 90 , 100 )

uzorak ( podaciX , 3 )

uzorak ( podaciX , 3 )

Ovdje prvo generiramo vektore cjelobrojnih elemenata unutar varijable 'dataX'. Zatim dvaput pozivamo funkciju sample() u kodu i prosljeđujemo joj vektor 'dataX' koji smo prethodno generirali kao argument. Prvo korištenje uzorka (dataX, 3) uzima nasumični uzorak od tri elementa iz vektora 'dataX'. Rezultati su nasumična permutacija tri elementa iz 'dataX'. Nakon toga ponovno koristimo uzorak (a, 5) koji uzima još jedan neovisni slučajni uzorak od tri elementa iz vektora “dataX”. Ovaj put ishod je potpuno drugačiji od prethodnog.







Izlaz prikazuje različite elemente pri dvaput pozivanju funkcije sample(). Imajte na umu da svaki put kada nasumično kreiramo uzorak, dobivaju se različiti elementi iz vektora:





Primjer 2: Korištenje funkcije Sample() s argumentom Replace

Nadalje, imamo argument 'zamijeni' funkcije sample() koja uzima logičke vrijednosti. Sličan element može se odabrati više od jednom ako je element uzorkovan s opcijom zamjene, TRUE. Međutim, ako je vrijednost postavljena na FALSE, može postojati samo jedan odabir svakog elementa što uzrokuje uzorkovanje elemenata bez zamjene.





slučajni_brojevi = c ( jedanaest , 25 , 12 , 89 , Četiri pet , 16 , 67 , 38 , 96 , 55 , 73 )

uzorak ( slučajni_brojevi , 4 , zamijeniti = PRAVI )

uzorak ( slučajni_brojevi , 5 , zamijeniti = PRAVI )

Ovdje prvo definiramo vektor s nekim numeričkim vrijednostima u varijabli 'random_numbers'. Nakon toga, pozivamo funkciju sample() gdje se 'random_numbers' prosljeđuje kao argument. Vrijednost '4' određena je funkciji sample() koja označava da odabire samo četiri slučajne vrijednosti iz vektora u 'random_numbers'.

Zatim, replace=TRUE u funkciji sample() navodi da se svaka vrijednost može odabrati više puta. Zatim ponovno implementiramo funkciju sample() koja ovaj put odabire '5' nasumičnih vrijednosti iz vektora. Slično, postavljamo argument zamjene s 'TRUE' kao i prije za više opcija odabira za svaku vrijednost.



Kao što vidimo, prvi izlaz prikazuje vektor od 4 nasumično odabrana elementa iz vektora “random_numbers”. Međutim, sljedeći izlaz prikazuje vektor od '5' nasumično odabranih elemenata:

Primjer 3: Korištenje funkcije Sample() s argumentom veličine

Sljedeći argument koji funkcija sample() prosljeđuje je 'veličina'. “Veličina” je izborni parametar koji označava vrijednost uzoraka koji se izvlače. Kôd funkcije sample() s parametrom 'size' dan je u nastavku:

vektori < - 1 : 10

uzorak ( vektori , veličina = 5 )

Ovdje je numerički vektor definiran kao niz cijelih brojeva od 1 do 10 u varijabli 'vectors'. Funkcija sample() se zatim koristi za odabir slučajnih elemenata iz vektora. Kao što vidimo, funkcija sample() uzima dva argumenta. Prvi argument su vektori iz kojih dobivamo uzorak. Sljedeći argument je veličina koja je navedena s vrijednošću '5' koja označava da postoji samo pet elemenata za odabir iz vektora.

Stoga se odabrani elementi vraćaju nasumičnim redoslijedom kao novi vektor u sljedećem izlazu:

Primjer 4: Korištenje funkcije Sample() za R popis

Štoviše, funkcija sample() može se koristiti za popis u R. Ovaj dio primjera dobiva nasumične vrijednosti s popisa.

R_list < - popis ( 1 : 4 ,

913 ,

c ( 'X' , 'GGG' , 'DOBRO' ) ,

'ZZZ' ,

5 )

proizlaziti < - R_popis [ uzorak ( 1 : duljina ( R_list ) , veličina = 4 ) ]

proizlaziti

Ovdje je popis 'R_list' definiran elementima različitih tipova uključujući vektor brojeva, jedan broj, vektor znakova, niz i drugi broj. Nakon toga stvaramo varijablu 'rezultat' gdje se poziva funkcija sample().

Unutar funkcije sample() postavili smo izraz '1:length(R_list)' koji označava vektore indeksa kroz koje treba uzorkovati. Zatim, imamo argument 'veličina' za određivanje broja elemenata za uzorkovanje, a to je '4'. Stoga, “R_list” generira tri nasumično odabrana elementa s popisa “R_list”. Budući da su elementi na popisu 'R_list' različitih tipova, rezultirajući elementi u 'result' također mogu biti različitih tipova.

Izlaz predstavlja novi popis koji sadrži nasumični podskup izvornog popisa:

Primjer 5: Korištenje funkcije Sample() s argumentom Prob

Dodatno, imamo parametar 'prob' funkcije sample(). Argument “prob” daje vjerojatnost odabranog elementa u vektoru. Imajte na umu da se pretpostavlja da svi elementi imaju jednaku vjerojatnost kada se ne koristi argument 'prob'.

moji_podaci = c ( 31 , 99 , 5 , 24 , 72 )

uzorak ( moji_podaci , veličina = 10 , zamijeniti = PRAVI ,

vjerojatnost = c ( 0,5 , predstavnik ( 0,1 , 4 ) ) )

Ovdje se elementi numeričkih vektora odnose na 'my_data'. U sljedećem koraku pozivamo funkciju sample() gdje se 'my_data' prosljeđuje na nasumično odabranih 10 elemenata iz nje. Zatim se definira argument 'veličina' koji navodi da vrijednost za nasumični odabir treba biti veličine '10'. Nakon toga, argumentu “replace” dodijelimo “TRUE” što znači da se svaki odabrani element zamjenjuje u vektor prije odabira sljedećeg. Treći argument koji je definiran u funkciji sample() je “prob” koji definira vjerojatnost odabira svakog elementa u vektoru “my_data”. Vjerojatnost prvog elementa postavljena je na “0,5”. Za preostala četiri elementa vektora, vjerojatnost je '0,1'.

Sljedeći izlaz se dohvaća s najvećom vjerojatnošću prvog elementa u vektorima kao što se očekuje:

Primjer 6: Korištenje funkcije Sample() za renderiranje barplota

Na kraju, funkcija sample() koristi se za konstruiranje barplota u R za vizualizaciju distribucije kategoričke varijable sa zadanom distribucijom vjerojatnosti.

uzorak_podataka = c ( 1 , 2 , 3 )

barplot ( stol ( uzorak ( uzorak_podataka , veličina = 500 , zamijeniti = PRAVI , vjerojatnost = c ( .30 , .60 , .10 ) ) ) )

Ovdje, nakon definiranja 'sample_data' s vektorom cjelobrojne vrijednosti, generiramo trakasti dijagram primjenom funkcije sample(). Prvo pozivamo trakasti dijagram koji poziva funkciju table() za izradu tablice učestalosti rezultirajućeg uzorka. Zatim specificiramo funkciju sample() unutar funkcije table() gdje se nasumični uzorak veličine 1000 izvlači iz vektora cijelih brojeva od 1 do 3. Zatim se argument 'prob' koristi za određivanje vjerojatnosti odabira svakog cijelog broja. .

Kao što sada možemo vidjeti, trakasti dijagram prikazan je na sljedeći način s tri stupca, po jedan za svaki cijeli broj, a visina stupaca relevantna je za cijeli broj koji se pojavljuje u uzorku:

Zaključak

Vidjeli smo kako funkcija sample() radi na raznim primjerima. Funkcija sample() koristi se s različitim argumentima gdje su potrebni ogledni podaci, a svi ostali argumenti su izborni i pozivaju se u određenim slučajevima. Međutim, funkcija sample() korisna je u statističkoj analizi ili pri radu s velikim skupovima podataka.