Funcția Sample() în R

Functia Sample In R



În R, obținem valori ale eșantionului aleatoriu dintr-un vector sau dintr-o listă folosind funcția sample(). Ne permite să selectăm aleatoriu un subset de date care este util în multe aplicații statistice. Dacă intrarea este o listă în funcția sample(), rezultatul va fi și o listă cu același număr de elemente, dar cu elementele selectate. Acest articol demonstrează funcția sample() a lui R cu implementarea care stabilește diferitele argumente.

Exemplul 1: Utilizarea funcției Sample() cu argumentul de date

Funcția sample() a lui R trebuie să fie furnizată împreună cu datele eșantionului pentru a genera aleatoriu un număr. Datele eșantionului sunt argumentul necesar al funcției sample() al cărei cod este dat în următoarele:

dataX < - c ( 10 , douăzeci , 30 , 40 , cincizeci , 60 , 70 , 80 , 90 , 100 )

probă ( dataX , 3 )

probă ( dataX , 3 )

Aici, mai întâi generăm vectorii elementelor întregi din variabila „dataX”. Apoi, apelăm funcția sample() de două ori în cod și îi transmitem vectorul „dataX” pe care l-am generat anterior ca argument. Prima utilizare a eșantionului (dataX, 3) preia un eșantion aleatoriu de trei elemente din vectorul „dataX”. Rezultatele sunt o permutare aleatorie a trei elemente din „dataX”. După aceea, folosim din nou eșantionul (a, 5), care preia un alt eșantion aleator independent de trei elemente din vectorul „dataX”. De data aceasta, rezultatul este complet diferit de cel din urmă.







Ieșirea arată diferitele elemente la apelarea funcției sample() de două ori. Rețineți că de fiecare dată când creăm eșantionul în mod aleatoriu, se obțin elemente diferite din vectori:





Exemplul 2: Utilizarea funcției Sample() cu argumentul Replace

În plus, avem argumentul „înlocuire” al funcției sample() care preia valorile logice. Un element similar poate fi selectat de mai multe ori dacă elementul este eșantionat cu opțiunea de înlocuire, TRUE. Cu toate acestea, dacă valoarea este setată la FALSE, poate exista o singură selecție a fiecărui element, ceea ce face ca elementele să fie eșantionate fără înlocuire.





numere_aleatoare = c ( unsprezece , 25 , 12 , 89 , Patru cinci , 16 , 67 , 38 , 96 , 55 , 73 )

probă ( numere_aleatoare , 4 , a inlocui = ADEVĂRAT )

probă ( numere_aleatoare , 5 , a inlocui = ADEVĂRAT )

Aici, definim mai întâi vectorul cu câteva valori numerice în variabila „numere_aleatoare”. După aceea, invocăm funcția sample() unde „numere_aleatoare” este transmis ca argument. Valoarea lui „4” este specificată în funcția sample(), ceea ce indică faptul că selectează doar patru valori aleatoare din vectorii din „numere_aleatoare”.

Apoi, înlocuirea=TRUE din funcția sample() specifică că fiecare valoare poate fi selectată de mai multe ori. Apoi, implementăm din nou funcția sample() care selectează „5” valori aleatorii din vectori de data aceasta. În mod similar, setăm argumentul de înlocuire cu „TRUE” ca înainte pentru opțiunile de selecție multiple pentru fiecare valoare.



După cum putem vedea, prima ieșire afișează vectorul a 4 elemente selectate aleatoriu din vectorul „numere_aleatoare”. Următoarea ieșire, totuși, afișează un vector de „5” elemente selectate aleatoriu:

Exemplul 3: Utilizarea funcției Sample() cu argumentul dimensiune

Următorul argument pe care îl transmite funcția sample() este „mărimea”. „Dimensiunea” este un parametru opțional care indică valoarea eșantioanelor care trebuie extrase. Codul funcției sample() cu parametrul „size” este dat în următoarele:

vectori < - 1 : 10

probă ( vectori , mărimea = 5 )

Aici, un vector numeric este definit ca o secvență de numere întregi de la 1 la 10 în variabila „vectori”. Funcția sample() este apoi folosită pentru a selecta aleatoriu elemente din vector. După cum putem vedea, funcția sample() are două argumente. Primul argument sunt vectorii din care obținem eșantionul. Următorul argument este dimensiunea care este specificată cu valoarea „5”, ceea ce indică faptul că există doar cinci elemente de selectat din vector.

Prin urmare, elementele selectate sunt returnate într-o ordine aleatorie ca un vector nou în următoarea ieșire:

Exemplul 4: Utilizarea funcției Sample() pentru lista R

Mai mult, funcția sample() poate fi folosită pentru lista din R. Această secțiune a exemplului primește valori aleatorii din listă.

R_list < - listă ( 1 : 4 ,

913 ,

c ( 'X' , 'AAAA' , 'BUN' ) ,

'ZZZ' ,

5 )

rezultat < - R_list [ probă ( 1 :lungime ( R_list ) , mărimea = 4 ) ]

rezultat

Aici, lista „R_list” este definită cu elemente de diferite tipuri, inclusiv un vector de cifre, un singur număr, un vector de caractere, un șir și un alt număr. După aceea, creăm o variabilă „rezultat” unde este invocată funcția sample().

În interiorul funcției sample(), setăm expresia „1:length(R_list)” care indică vectorii indicilor prin care trebuie eșantionat. În continuare, avem un argument „dimensiune” pentru a specifica numărul de elemente de eșantionat care este „4”. Prin urmare, „R_list” generează trei elemente selectate aleatoriu din lista „R_list”. Deoarece elementele din lista „R_list” sunt de tipuri diferite, elementele rezultate din „rezultat” pot fi, de asemenea, de diferite tipuri.

Ieșirea reprezintă noua listă care conține un subset aleatoriu al listei originale:

Exemplul 5: Utilizarea funcției Sample() cu argumentul Prob

În plus, avem parametrul „prob” al funcției sample(). Argumentul „prob” dă probabilitatea elementului selectat în vector. Rețineți că se presupune că toate elementele au probabilitate egală atunci când argumentul „prob” nu este utilizat.

datele mele = c ( 31 , 99 , 5 , 24 , 72 )

probă ( datele mele , mărimea = 10 , a inlocui = ADEVĂRAT ,

prob = c ( 0,5 , reprezentant ( 0,1 , 4 ) ) )

Aici, elementele vectorilor numerici sunt referite la „my_data”. În pasul următor, apelăm funcția sample() în care „my_data” este transmisă la 10 elemente selectate aleatoriu din aceasta. Apoi, este definit argumentul „dimensiune”, care specifică faptul că valoarea de selectat aleatoriu ar trebui să fie de dimensiunea „10”. După aceea, atribuim „TRUE” argumentului „înlocuire”, ceea ce înseamnă că fiecare element selectat este înlocuit în vector înainte de a-l selecta pe următorul. Al treilea argument care este definit în funcția sample() este „prob” care definește probabilitatea fiecărui element din vectorul „my_data” să fie selectat. Probabilitatea primului element este setată la „0,5”. Pentru restul de patru elemente vectoriale, probabilitatea este „0,1”.

Următoarea ieșire este preluată cu cea mai mare probabilitate pentru primul element din vectori, așa cum era de așteptat:

Exemplul 6: Utilizarea funcției Sample() pentru a reda graficul de bare

În cele din urmă, funcția sample() este utilizată pentru a construi graficul de bare în R pentru a vizualiza distribuția unei variabile categoriale cu o distribuție de probabilitate dată.

date_eșantion = c ( 1 , 2 , 3 )

barplot ( masa ( probă ( date_eșantion , mărimea = 500 , a inlocui = ADEVĂRAT , prob = c ( .30 , .60 , .10 ) ) ) )

Aici, după definirea „sample_data” cu vectorul unei valori întregi, generăm graficul de bare prin implementarea funcției sample(). Mai întâi, apelăm graficul cu bare care invocă funcția table() pentru a crea un tabel de frecvență al eșantionului rezultat. Apoi, specificăm funcția sample() în cadrul funcției table() unde un eșantion aleatoriu de dimensiunea 1000 este extras dintr-un vector de numere întregi de la 1 la 3. Apoi, argumentul „prob” este folosit pentru a specifica probabilitatea de a selecta fiecare număr întreg. .

După cum putem vedea acum, diagrama cu bare este redată în continuare cu cele trei bare, câte una pentru fiecare număr întreg, iar înălțimea barelor este relevantă pentru numărul întreg care apare în eșantion:

Concluzie

Am văzut cum funcționează funcția sample() cu diverse exemple. Funcția sample() este utilizată cu diferite argumente în care datele eșantionului sunt necesare și toate celelalte argumente sunt opționale și sunt apelate în cazuri specifice. Cu toate acestea, funcția sample() este utilă în analiza statistică sau când lucrați cu seturi mari de date.