Funkcija Sample() R

Funkcija Sample R



R, mes gauname atsitiktinai imties vertes iš vektoriaus arba sąrašo, naudodami funkciją sample (). Tai leidžia mums atsitiktinai pasirinkti duomenų poaibį, kuris yra naudingas daugelyje statistikos programų. Jei įvestis yra funkcijos sample() sąrašas, išvestis taip pat bus sąrašas su tuo pačiu elementų skaičiumi, bet su pasirinktais elementais. Šiame straipsnyje parodyta R funkcija pavyzdys() su įgyvendinimu, kuris nustato įvairius argumentus.

1 pavyzdys: funkcijos Sample() naudojimas su duomenų argumentu

R funkcija sample() turi būti pateikta su imties duomenimis, kad atsitiktinai generuotų skaičių. Pavyzdiniai duomenys yra būtinas funkcijos sample() argumentas, kurio kodas pateikiamas taip:

dataX < - c ( 10 , dvidešimt , 30 , 40 , penkiasdešimt , 60 , 70 , 80 , 90 , 100 )

mėginys ( dataX , 3 )

mėginys ( dataX , 3 )

Čia pirmiausia sugeneruojame sveikųjų elementų vektorius „dataX“ kintamajame. Tada kode du kartus iškviečiame funkciją sample () ir perduodame „dataX“ vektorių, kurį anksčiau sugeneravome kaip argumentą. Pirmą kartą naudojant pavyzdį (dataX, 3), iš „dataX“ vektoriaus paimama atsitiktinė trijų elementų imtis. Rezultatai yra atsitiktinė trijų „dataX“ elementų permutacija. Po to vėl naudojame pavyzdį (a, 5), kuris paima kitą nepriklausomą atsitiktinę trijų elementų pavyzdį iš „dataX“ vektoriaus. Šį kartą rezultatas visiškai skiriasi nuo praėjusio.







Išvestis rodo skirtingus elementus, kai du kartus iškviečiama sample() funkcija. Atkreipkite dėmesį, kad kiekvieną kartą atsitiktinai sukuriant pavyzdį, gaunami skirtingi vektorių elementai:





2 pavyzdys: funkcijos Sample() naudojimas su Replace argumentu

Be to, turime funkcijos sample() argumentą „pakeisti“, kuris paima logines reikšmes. Panašų elementą galima pasirinkti daugiau nei vieną kartą, jei elementas atrinktas su pakeitimo parinktimi TRUE. Tačiau, jei vertė nustatyta į FALSE, kiekvienas elementas gali būti pasirinktas tik vieną kartą, todėl elementai atrenkami nepakeičiant.





atsitiktiniai_skaičiai = c ( vienuolika , 25 , 12 , 89 , Keturi. Penki , 16 , 67 , 38 , 96 , 55 , 73 )

mėginys ( atsitiktiniai_skaičiai , 4 , pakeisti = TIESA )

mėginys ( atsitiktiniai_skaičiai , 5 , pakeisti = TIESA )

Čia pirmiausia apibrėžiame vektorių su tam tikromis skaitinėmis reikšmėmis kintamajame „random_numbers“. Po to mes iškviečiame funkciją sample (), kur „random_numbers“ perduodamas kaip argumentas. „4“ reikšmė nurodoma funkcijai sample(), kuri rodo, kad ji pasirenka tik keturias atsitiktines reikšmes iš „atsitiktinių_skaičių“ vektorių.

Be to, funkcijoje sample() pakeitimas=TRUE nurodo, kad kiekvieną reikšmę galima pasirinkti daugiau nei vieną kartą. Tada vėl įdiegiame mėginio () funkciją, kuri šį kartą iš vektorių pasirenka „5“ atsitiktines reikšmes. Panašiai nustatome pakeitimo argumentą „TRUE“, kaip ir anksčiau, kai kiekvienai vertei pasirenkame kelias pasirinkimo parinktis.



Kaip matome, pirmoje išvestyje rodomas 4 atsitiktinai atrinktų elementų vektorius iš „random_numbers“ vektoriaus. Tačiau kitoje išvestyje rodomas „5“ atsitiktinai parinktų elementų vektorius:

3 pavyzdys: funkcijos Sample() naudojimas su dydžio argumentu

Kitas argumentas, kurį atlieka pavyzdys () funkcija, yra „dydis“. „Dydis“ yra pasirenkamas parametras, nurodantis imamų pavyzdžių vertę. Funkcijos sample() kodas su parametru 'dydis' pateikiamas taip:

vektoriai < - 1 : 10

mėginys ( vektoriai , dydis = 5 )

Čia skaitmeninis vektorius apibrėžiamas kaip sveikųjų skaičių nuo 1 iki 10 seka kintamajame „vektoriai“. Funkcija sample () tada naudojama atsitiktiniam elementų pasirinkimui iš vektoriaus. Kaip matome, funkcija sample() turi du argumentus. Pirmasis argumentas yra vektoriai, iš kurių gauname pavyzdį. Kitas argumentas yra dydis, nurodytas reikšme „5“, o tai rodo, kad iš vektoriaus galima pasirinkti tik penkis elementus.

Taigi pasirinkti elementai grąžinami atsitiktine tvarka kaip naujas vektorius šioje išvestyje:

4 pavyzdys: R sąrašo funkcijos Sample() naudojimas

Be to, funkcija sample() gali būti naudojama sąrašui R. Šioje pavyzdžio dalyje iš sąrašo gaunamos atsitiktinės reikšmės.

R_list < - sąrašą ( 1 : 4 ,

913 ,

c ( 'X' , 'YYY' , 'GERAI' ) ,

'ZZZ' ,

5 )

rezultatas < - R_sąrašas [ mėginys ( 1 : ilgis ( R_list ) , dydis = 4 ) ]

rezultatas

Čia „R_list“ sąrašas yra apibrėžtas skirtingų tipų elementais, įskaitant skaičių vektorių, vieną skaičių, simbolių vektorių, eilutę ir kitą skaičių. Po to sukuriame „rezultato“ kintamąjį, kuriame iškviečiama sample () funkcija.

Funkcijoje sample() nustatome išraišką „1:length(R_list)“, kuri nurodo indeksų vektorius, per kuriuos reikia imti mėginius. Toliau turime argumentą „dydis“, kad nurodytume atrinktų elementų skaičių, kuris yra „4“. Todėl „R_list“ generuoja tris atsitiktinai parinktus elementus iš „R_list“ sąrašo. Kadangi „R_list“ sąrašo elementai yra skirtingų tipų, „rezultato“ elementai taip pat gali būti skirtingų tipų.

Išvestis rodo naują sąrašą, kuriame yra atsitiktinis pradinio sąrašo poaibis:

5 pavyzdys: funkcijos Sample() naudojimas su Prob argumentu

Be to, turime funkcijos sample () parametrą „prob“. Argumentas „tikimybė“ nurodo pasirinkto elemento tikimybę vektoriuje. Atkreipkite dėmesį, kad visų elementų tikimybė yra vienoda, kai nenaudojamas argumentas „tikimybė“.

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

mėginys ( mano_duomenys , dydis = 10 , pakeisti = TIESA ,

prob = c ( 0.5 , rep ( 0.1 , 4 ) ) )

Čia skaitmeninių vektorių elementai vadinami „mano_duomenimis“. Kitame žingsnyje iškviečiame funkciją sample (), kur „mano_duomenys“ perduodami atsitiktinai atrinktiems 10 elementų. Tada apibrėžiamas argumentas „dydis“, kuris nurodo, kad atsitiktinai pasirenkama reikšmė turi būti „10“ dydžio. Po to argumentui „pakeisti“ priskiriame „TRUE“, o tai reiškia, kad kiekvienas pasirinktas elementas pakeičiamas į vektorių prieš pasirenkant kitą. Trečiasis argumentas, apibrėžtas funkcijoje sample() yra „prob“, kuris apibrėžia kiekvieno „mano_duomenų“ vektoriaus elemento pasirinkimo tikimybę. Pirmojo elemento tikimybė nustatyta į „0,5“. Likusiems keturiems vektoriaus elementams tikimybė yra „0,1“.

Ši išvestis gaunama su didžiausia pirmojo vektorių elemento tikimybe, kaip tikėtasi:

6 pavyzdys: funkcijos Sample() naudojimas barplotui pateikti

Galiausiai, funkcija sample() naudojama stulpelio diagramai R sudaryti, kad būtų galima vizualizuoti kategorinio kintamojo pasiskirstymą su nurodytu tikimybių pasiskirstymu.

pavyzdys_duomenys = c ( 1 , 2 , 3 )

barplotas ( stalo ( mėginys ( pavyzdys_duomenys , dydis = 500 , pakeisti = TIESA , prob = c ( .30 , .60 , .10 ) ) ) )

Čia, apibrėžę „sample_data“ su sveikojo skaičiaus vektoriumi, sugeneruojame barplotą, naudodami funkciją sample (). Pirma, mes iškviečiame barplot, kuris iškviečia table() funkciją, kad sukurtume gauto pavyzdžio dažnių lentelę. Tada funkcijoje table() nurodome funkciją sample(), kur atsitiktinė 1000 dydžio imtis yra paimama iš sveikųjų skaičių vektoriaus nuo 1 iki 3. Tada argumentas 'tikimybė' naudojamas nurodyti kiekvieno sveikojo skaičiaus pasirinkimo tikimybę. .

Kaip matome dabar, juostos diagrama pateikiama toliau trimis juostomis, po vieną kiekvienam sveikajam skaičiui, o juostų aukštis yra susijęs su sveikuoju skaičiumi, kuris atsiranda pavyzdyje:

Išvada

Su įvairiais pavyzdžiais matėme, kaip veikia sample() funkcija. Funkcija sample() naudojama su skirtingais argumentais, kai reikia pavyzdinių duomenų, o visi kiti argumentai yra neprivalomi ir iškviečiami konkrečiais atvejais. Tačiau funkcija sample() yra naudinga atliekant statistinę analizę arba dirbant su dideliais duomenų rinkiniais.