Programació en R vapply i tapply PDF

Title Programació en R vapply i tapply
Author Yu Chen
Course Análisis de Datos
Institution Universitat Pompeu Fabra
Pages 3
File Size 63.2 KB
File Type PDF
Total Downloads 101
Total Views 126

Summary

Download Programació en R vapply i tapply PDF


Description

Programació en R: vapply i tapply Mentre que sapply() intent «endevinar» el format correcte del resultat, vapply() us permet | especificar-lo explícitament. Si el resultat no concorda amb el format que especifiqueu, | vapply() mostrarà un error, causant que l'operació s'aturi. Proveu vapply(flags, unique, numeric(1)), cosa que vol dir que espereu que cada element del resultat serà un vector numèric de longitud igual a 1. Atès que aquest NO és en realitat el cas, REBREU UN ERROR. Un cop que veieu l'error, entreu ok() per continuar amb la pregunta següent. Si volem ser explícits sobre el format del resultat que esperem, podem usar vapply(flags, | class, character(1)). L'argument «character(1)» li diu a l'R que esperem que la funció class | retornarà un vector de caràcters de longitud 1 quan s'aplica a CADA columna del conjunt de dades flags. vapply(flags, class, character(1)) name landmass zone area population language religion "character" "integer" "integer" "integer" "integer" "integer" "integer" bars stripes colours red green blue gold "integer" "integer" "integer" "integer" "integer" "integer" "integer" white black orange mainhue circles crosses saltires "integer" "integer" "integer" "character" "integer" "integer" "integer" quarters sunstars crescent triangle icon animate text "integer" "integer" "integer" "integer" "integer" "integer" "integer" topleft botright "character" "character" Noteu que considerant que la nostra expectativa era correcta (és a dir character(1)), el resultat de vapply() és idèntic al resultat de sapply() -- un vector de caràcters de classes de columnes. Addicionalment, vapply() pot ser més ràpida que sapply() per a conjunts de dades grans. Tanmateix, quan es va l'anàlisi de dades interactivament (a la línia d'ordres), sapply() us estalvia una mica d'escriptura i serà en general suficientment bona. La variable «landmass» del nostre conjunt de dades agafa valors enters entre 1 i 6, cadascú dels quals representa una part diferent del món. Useu table(flags$landmass) per veure quantes banderes/quants països cauen a cada grup. table(flags$landmass) 1 2 3 4 5 6 31 17 35 52 39 20

La variable «animate» al nostre conjunt de dades agafa el valor 1 si la bandera d'un país conté una imatge | animada (per exemple una àguila, un arbre, una mà humana) i 0 en cas contrari. Useu table(flags$animate) per | veure quantes banderes contenen una imatge animada. table(flags$animate) 0 1 155 39 Això ens dius que 39 banderes contenen un objecte animat (animate = 1) i 155 no (animate = 0). Si calculeu la mitjana aritmètica d'un conjunt de 0 i 1, obteniu la proporció de 1. Useu | tapply(flags$animate, flags$landmass, mean) per aplicar la funció mean a la variable «animate» de manera separada per a cada una dels sis grups classificats amb la variable «landmass», obtenint així la proporció de banderes que contenen una imatge animada DINS de cada grup de landmass. tapply(flags$animate, flags$landmass, mean) 1 2 3 4 5 6 0.4193548 0.1764706 0.1142857 0.1346154 0.1538462 0.3000000 El primer grup landmass (landmass = 1) correspon a Amèrica del Nord i conté la proporció més alta de banderes amb una imatge animada (0.4194). Similarment, podem obtenir un resum dels valors de la població (arrodonit al milió d'habitants) per als països amb i sense el color vermell a la seva bandera tapply(flags$population, flags$red, summary) $`0` Min. 1st Qu. Median Mean 3rd Qu. Max. 0.00 0.00 3.00 27.63 9.00 684.00 $`1` Min. 1st Qu. Median Mean 3rd Qu. Max. 0.0 0.0 4.0 22.1 15.0 1008.0 Quina és la mediana de la població (en milions) per a països *sense* el color vermell a les seves banderes? 3 Finalment, useu el mateix enfoc per mirar a un resum dels valors de la població per a cada uns del sis grups definits a la variable landmass. tapply(flags$population, flags$landmass, summary) $`1` Min. 1st Qu. Median Mean 3rd Qu. Max. 0.00 0.00 0.00 12.29 4.50 231.00 $`2` Min. 1st Qu. Median

Mean 3rd Qu.

Max.

0.00

1.00

6.00 15.71 15.00 119.00

$`3` Min. 1st Qu. Median Mean 3rd Qu. Max. 0.00 0.00 8.00 13.86 16.00 61.00 $`4` Min. 1st Qu. Median Mean 3rd Qu. Max. 0.000 1.000 5.000 8.788 9.750 56.000 $`5` Min. 1st Qu. Median Mean 3rd Qu. Max. 0.00 2.00 10.00 69.18 39.00 1008.00 $`6` Min. 1st Qu. Median Mean 3rd Qu. Max. 0.00 0.00 0.00 11.30 1.25 157.00

Quina és la població màxima (en milions) per al quart grup definit a la variable landmass (Africa)?: 56.00...


Similar Free PDFs