Funció Sample() a R

Funcio Sample A R



A R, obtenim valors de mostra aleatòriament d'un vector o d'una llista mitjançant la funció sample(). Ens permet seleccionar aleatòriament un subconjunt de dades que és útil en moltes aplicacions estadístiques. Si l'entrada és una llista a la funció sample(), la sortida també serà una llista amb el mateix nombre d'elements, però amb els elements seleccionats. Aquest article demostra la funció sample() de R amb la implementació que estableix els diferents arguments.

Exemple 1: ús de la funció Sample() amb l'argument de dades

La funció sample() de R s'ha de proporcionar amb les dades de mostra per generar un nombre aleatòriament. Les dades de mostra són l'argument requerit de la funció sample() el codi de la qual es dóna a continuació:

dadesX < - c ( 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 , 100 )

mostra ( dadesX , 3 )

mostra ( dadesX , 3 )

Aquí, primer generem els vectors dels elements enters dins de la variable 'dataX'. A continuació, cridem la funció sample() dues vegades al codi i passem el vector 'dataX' que hem generat anteriorment com a argument. El primer ús de la mostra (dataX, 3) pren una mostra aleatòria de tres elements del vector 'dataX'. Els resultats són una permutació aleatòria de tres elements de 'dataX'. Després d'això, tornem a utilitzar la mostra (a, 5) que pren una altra mostra aleatòria independent de tres elements del vector 'dataX'. Aquesta vegada, el resultat és totalment diferent de l'últim.







La sortida mostra els diferents elements en cridar la funció sample() dues vegades. Tingueu en compte que cada vegada que creem la mostra de manera aleatòria, s'obtenen diferents elements dels vectors:





Exemple 2: ús de la funció Sample() amb l'argument de substitució

A més, tenim l'argument 'reemplaça' de la funció sample() que pren els valors lògics. Un element similar es pot seleccionar més d'una vegada si l'element es mostra amb l'opció de substitució, TRUE. Tanmateix, si el valor s'estableix en FALSE, només hi pot haver una selecció de cada element que fa que els elements es mostren sense substitució.





nombres_aleatoris = c ( 11 , 25 , 12 , 89 , 45 , 16 , 67 , 38 , 96 , 55 , 73 )

mostra ( nombres_aleatoris , 4 , substituir = VERITAT )

mostra ( nombres_aleatoris , 5 , substituir = VERITAT )

Aquí, primer definim el vector amb alguns valors numèrics a la variable 'random_numbers'. Després d'això, invoquem la funció sample() on els 'random_numbers' es passa com a argument. El valor de '4' s'especifica a la funció sample() que indica que només selecciona quatre valors aleatoris dels vectors de 'random_numbers'.

A continuació, la substitució=TRUE a la funció sample() especifica que cada valor es pot seleccionar més d'una vegada. A continuació, tornem a desplegar la funció sample() que aquesta vegada selecciona '5' valors aleatoris dels vectors. De la mateixa manera, establim l'argument de substitució amb 'TRUE' com abans per a les opcions de selecció múltiple per a cada valor.



Com podem veure, la primera sortida mostra el vector de 4 elements seleccionats aleatòriament del vector 'random_numbers'. La següent sortida, però, mostra un vector de '5' elements seleccionats aleatòriament:

Exemple 3: ús de la funció Sample() amb l'argument de mida

El següent argument que passa la funció sample() és la 'mida'. La 'mida' és un paràmetre opcional que indica el valor de les mostres a extreure. El codi de la funció sample() amb el paràmetre 'mida' es mostra a continuació:

vectors < - 1 : 10

mostra ( vectors , mida = 5 )

Aquí, un vector numèric es defineix com una seqüència de nombres enters de l'1 al 10 a la variable 'vectors'. La funció sample() s'utilitza llavors per seleccionar elements aleatoris del vector. Com podem veure, la funció sample() pren dos arguments. El primer argument són els vectors dels quals obtenim la mostra. El següent argument és la mida que s'especifica amb el valor de '5', que indica que només hi ha cinc elements per seleccionar del vector.

Per tant, els elements seleccionats es retornen en un ordre aleatori com a vector nou a la sortida següent:

Exemple 4: Ús de la funció Sample() per a la llista R

A més, la funció sample() es pot utilitzar per a la llista de R. Aquesta secció de l'exemple obté valors aleatoris de la llista.

R_lista < - llista ( 1 : 4 ,

913 ,

c ( 'X' , 'YYY' , 'BO' ) ,

'ZZZ' ,

5 )

resultat < - R_lista [ mostra ( 1 :llargada ( R_lista ) , mida = 4 ) ]

resultat

Aquí, la llista de 'R_list' es defineix amb elements de diferents tipus, incloent un vector de numèrics, un sol nombre, un vector de caràcters, una cadena i un altre nombre. Després d'això, creem una variable 'resultat' on s'invoca la funció sample().

Dins de la funció sample(), establim l'expressió '1:length(R_list)' que indica els vectors d'índexs per mostrejar. A continuació, tenim un argument 'mida' per especificar el nombre d'elements a mostrejar que és '4'. Per tant, 'R_list' genera tres elements seleccionats aleatòriament de la llista 'R_list'. Com que els elements de la llista 'R_list' són de diferents tipus, els elements resultants de 'resultat' també poden ser de diferents tipus.

La sortida representa la llista nova que conté un subconjunt aleatori de la llista original:

Exemple 5: Ús de la funció Sample() amb l'argument Prob

A més, tenim el paràmetre 'prob' de la funció sample(). L'argument 'prob' dóna la probabilitat de l'element seleccionat al vector. Tingueu en compte que s'assumeix que tots els elements tenen la mateixa probabilitat quan no s'utilitza l'argument 'prob'.

les meves_dades = c ( 31 , 99 , 5 , 24 , 72 )

mostra ( les meves_dades , mida = 10 , substituir = VERITAT ,

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

Aquí, els elements dels vectors numèrics es refereixen a 'les meves_dades'. En el següent pas, anomenem la funció sample() on es passa 'my_data' a 10 elements seleccionats aleatòriament. A continuació, es defineix l'argument 'mida' que especifica que el valor a seleccionar aleatòriament ha de ser de mida '10'. Després d'això, assignem 'TRUE' a l'argument 'reemplaça', el que significa que cada element seleccionat es substitueix al vector abans de seleccionar el següent. El tercer argument que es defineix a la funció sample() és 'prob', que defineix la probabilitat que cada element del vector 'my_data' sigui seleccionat. La probabilitat del primer element s'estableix a '0,5'. Per als quatre elements vectorials restants, la probabilitat és '0,1'.

La sortida següent es recupera amb la probabilitat més alta del primer element dels vectors com s'esperava:

Exemple 6: Ús de la funció Sample() per representar el diagrama de barres

Finalment, la funció sample() s'utilitza per construir el diagrama de barres en R per visualitzar la distribució d'una variable categòrica amb una distribució de probabilitat determinada.

dades_de_mostra = c ( 1 , 2 , 3 )

trama de barres ( taula ( mostra ( dades_de_mostra , mida = 500 , substituir = VERITAT , prob = c ( .30 , .60 , .10 ) ) ) )

Aquí, després de definir el 'sample_data' amb el vector d'un valor sencer, generem el diagrama de barres desplegant la funció sample(). Primer, anomenem el diagrama de barres que invoca la funció table() per crear una taula de freqüències de la mostra resultant. A continuació, especifiquem la funció sample() dins de la funció table() on s'extreu una mostra aleatòria de mida 1000 d'un vector d'enters de l'1 al 3. Llavors, l'argument 'prob' s'utilitza per especificar la probabilitat de seleccionar cada nombre enter. .

Com podem veure ara, el diagrama de barres es representa a continuació amb les tres barres, una per a cada nombre enter, i l'alçada de les barres és rellevant per al nombre sencer que es produeix a la mostra:

Conclusió

Hem vist com funciona la funció sample() amb diversos exemples. La funció sample() s'utilitza amb diferents arguments on les dades de mostra són necessàries i tots els altres arguments són opcionals i es criden en casos específics. Tanmateix, la funció sample() és útil en l'anàlisi estadística o quan es treballa amb grans conjunts de dades.