Sesión 5

Camila Bautista

2024-07-30

5.1 Gráficas de pie chart

5.1.1 Lectura de la data

setwd("C:/Users/HP/OneDrive/Documentos/00. Curso de Udemy/Curso de Rstudio Avanzado")

#BFCases <- read.table(file = "BirdFluCases.txt", head = T)
#No se puede importar este tipo de base de datos con esta fx, por lo que usaremos otra
BFCases <- read.csv(file = "BirdFluCases.txt", sep = "\t", header = T)

# ?read.table: arroja info sobre esta fx de rstudio

names(BFCases)
##  [1] "Year"       "Azerbaijan" "Bangladesh" "Cambodia"   "China"     
##  [6] "Djibouti"   "Egypt"      "Indonesia." "Iraq"       "LaoPDR"    
## [11] "Myanmar"    "Nigeria"    "Pakistan"   "Thailand"   "Turkey"    
## [16] "VietNam"
str(BFCases) #todos los caracteres son enteros
## 'data.frame':    6 obs. of  16 variables:
##  $ Year      : int  2003 2004 2005 2006 2007 2008
##  $ Azerbaijan: int  0 0 0 8 0 0
##  $ Bangladesh: int  0 0 0 0 0 1
##  $ Cambodia  : int  0 0 4 2 1 0
##  $ China     : int  1 0 8 13 5 3
##  $ Djibouti  : int  0 0 0 1 0 0
##  $ Egypt     : int  0 0 0 18 25 7
##  $ Indonesia.: int  0 0 20 55 42 18
##  $ Iraq      : int  0 0 0 3 0 0
##  $ LaoPDR    : int  0 0 0 0 2 0
##  $ Myanmar   : int  0 0 0 0 1 0
##  $ Nigeria   : int  0 0 0 0 1 0
##  $ Pakistan  : int  0 0 0 0 3 0
##  $ Thailand  : int  0 17 5 3 0 0
##  $ Turkey    : int  0 0 0 12 0 0
##  $ VietNam   : int  3 29 61 0 8 5
#La fecha debería ser de tipo factor no int
#View(BFCases)

5.2.1 Representación más tabular y ordenada

Cases <- rowSums(BFCases[ ,2:16]) #sumar las filas [filas,columnas]
names(Cases) <- BFCases[ ,1] #hace que no sume los años, los consideres como sumas
Cases
## 2003 2004 2005 2006 2007 2008 
##    4   46   98  115   88   34
ls() #permite visualizar los objetos creados hasta
## [1] "BFCases" "Cases"

5.2.2 Realización de varios diagramas de pastel

op <- par(mfrow = c(2, 2), mar = c(3, 3, 2, 1)) #2 filas 2 columnas
#(Inferior, Izquierdo, Superior, Derecho)
#Todo lo que se grafique a partir de dicha corrida es para ubicar en n de gráficas en el panel
pie(Cases, main = "Ordinary pie chart")
pie(Cases, col = gray(seq(0.4, 1.0, length = 6)),
    clockwise = T, main = "Grey colours")
pie(Cases, col = rainbow(6), clockwise = T, main = "Rainbow colours")
par(op)

#Cuando renderizamos en la pestaña plots a veces no salen los gráficos del tamaño del que deberían, dependerá del tamaño de la pantalla, sin embargo basta con colocar en una pestaña grande y única todos los gráficos]]

#Instalar la librería plotrix para el último diagrama de pastel
#install.packages("plotrix")
#No fue posible instalar este paquete debido a que es muy antiguo, por lo que procederemos a generar otro

5.2.3 Un diagrama a la vez en lugar de los 3

par(nfrow = c(1, 1))
## Warning in par(nfrow = c(1, 1)): "nfrow" is not a graphical parameter
pie(Cases, main = "Ordinary pie chart")

pie(Cases, col = gray(seq(0.4, 1.0, length = 6)),
    clockwise = T, main = "Grey colours")

pie(Cases, col = rainbow(6), clockwise = T, main = "Rainbow colours")

5.2 Diagramas de Barras

5.2.1 Importación y Ejemplo

setwd("C:/Users/HP/OneDrive/Documentos/00. Curso de Udemy/Curso de Rstudio Avanzado")
BFDeaths <- read.csv(file = "BirdFluDeaths.txt", sep = "\t", header = T)
#View(BFDeaths)
Deaths <- rowSums(BFDeaths[, 2:16])
names(Deaths) <- BFDeaths[,1]
OP <- par (mfrow = c(2, 2), mar = c(3, 3, 2, 1))
barplot(Cases, main = "Bird flu cases")
Counts <- cbind(Cases, Deaths)
barplot(Counts)
barplot(t(Counts), col = gray(c(0.5, 1)))
barplot(t(Counts), beside =T)

par(OP)

5.2.2 Diagrama de Barras con análisis estadístico

setwd("C:/Users/HP/OneDrive/Documentos/00. Curso de Udemy/Curso de Rstudio Avanzado")
Benthic <- read.table(file = "RIKZ2.txt", header = T)
Bent.M <- tapply(X = Benthic$Richness, INDEX = Benthic$Beach, FUN = mean)
#INDEX es el índice (variable beach) donde se almacena cada una de las medias 
#en cuanto a la var abundancia, se sacó la media de la abundancia de cada playa (son 9 playas)
Bent.M #Media de la variable abundancia según cada una de las 9 playas
##    1    2    3    4    5    6    7    8    9 
## 11.0 12.2  3.4  2.4  7.4  4.0  2.2  4.0  4.6
Bent.sd <- tapply(X = Benthic$Richness, INDEX = Benthic$Beach, FUN = sd)
Bent.sd #ya no se calculan los promedios sino las desviaciones standart
##        1        2        3        4        5        6        7        8 
## 1.224745 5.357238 1.816590 1.341641 8.532292 1.870829 1.303840 2.645751 
##        9 
## 4.393177
class(Bent.sd) #Que sea un array podría ser un dataframe o una matriz
## [1] "array"
#Todo Data Frame es un arreglo, pero no todo arreglo (array) es un Data Frame
MSD <- cbind(Bent.M, Bent.sd) #Código para hacer un "Merge" o unir 2 objetos(si sus clases con arreglos o arrays), cuyos datos se convienten en una matriz
MSD #arreglo o matriz de 9 filas y 2 columnas
##   Bent.M  Bent.sd
## 1   11.0 1.224745
## 2   12.2 5.357238
## 3    3.4 1.816590
## 4    2.4 1.341641
## 5    7.4 8.532292
## 6    4.0 1.870829
## 7    2.2 1.303840
## 8    4.0 2.645751
## 9    4.6 4.393177

5.2.3 Diagrama de Barras con Márgenes

barplot(Bent.M) #Diagrama de barras simple

barplot(Bent.M, xlab = "Beach", ylim = c(0, 20), ylab = "Richness", col =
          rainbow(9)) #Diagrama de barras más específico

bp <- barplot(Bent.M, xlab = "Beach", ylim = c(0, 20), ylab = "Richness",
              col = rainbow(length(unique(Benthic$Beach)))) #length(unique(Benthic$Beach) = 9

arrows(bp, Bent.M, bp, Bent.M + Bent.sd, lwd = 1.5, angle = 90, length = 0.1)
#?arrows: define márgenes de error

box() #encierra la figura

LS0tDQp0aXRsZTogIlNlc2nDs24gNSINCmRhdGU6ICJgciBTeXMuRGF0ZSgpYCINCmF1dGhvcjogQ2FtaWxhIEJhdXRpc3RhDQpvdXRwdXQ6DQogIHJtZGZvcm1hdHM6OmRvd25jdXRlOg0KICAgIHNlbGZfY29udGFpbmVkOiB0cnVlDQogICAgZGVmYXVsdF9zdHlsZTogImRhcmsiDQogICAgZG93bmN1dGVfdGhlbWU6ICJjaGFvcyINCiAgICB0aHVtYm5haWxzOiB0cnVlDQogICAgbGlnaHRib3g6IHRydWUNCiAgICBnYWxsZXJ5OiBmYWxzZQ0KICAgIGhpZ2hsaWdodDogdGFuZ28NCiAgICBjb2RlX2ZvbGRpbmc6IHNob3cNCiAgICBjb2RlX2Rvd25sb2FkOiB0cnVlDQpsYW5nOiAiZXMtRVMiDQotLS0NCiMgNS4xIEdyw6FmaWNhcyBkZSBwaWUgY2hhcnQNCiMjIDUuMS4xIExlY3R1cmEgZGUgbGEgZGF0YQ0KYGBge3J9DQpzZXR3ZCgiQzovVXNlcnMvSFAvT25lRHJpdmUvRG9jdW1lbnRvcy8wMC4gQ3Vyc28gZGUgVWRlbXkvQ3Vyc28gZGUgUnN0dWRpbyBBdmFuemFkbyIpDQoNCiNCRkNhc2VzIDwtIHJlYWQudGFibGUoZmlsZSA9ICJCaXJkRmx1Q2FzZXMudHh0IiwgaGVhZCA9IFQpDQojTm8gc2UgcHVlZGUgaW1wb3J0YXIgZXN0ZSB0aXBvIGRlIGJhc2UgZGUgZGF0b3MgY29uIGVzdGEgZngsIHBvciBsbyBxdWUgdXNhcmVtb3Mgb3RyYQ0KQkZDYXNlcyA8LSByZWFkLmNzdihmaWxlID0gIkJpcmRGbHVDYXNlcy50eHQiLCBzZXAgPSAiXHQiLCBoZWFkZXIgPSBUKQ0KDQojID9yZWFkLnRhYmxlOiBhcnJvamEgaW5mbyBzb2JyZSBlc3RhIGZ4IGRlIHJzdHVkaW8NCg0KbmFtZXMoQkZDYXNlcykNCnN0cihCRkNhc2VzKSAjdG9kb3MgbG9zIGNhcmFjdGVyZXMgc29uIGVudGVyb3MNCiNMYSBmZWNoYSBkZWJlcsOtYSBzZXIgZGUgdGlwbyBmYWN0b3Igbm8gaW50DQojVmlldyhCRkNhc2VzKQ0KYGBgDQoNCiMjIDUuMi4xIFJlcHJlc2VudGFjacOzbiBtw6FzIHRhYnVsYXIgeSBvcmRlbmFkYQ0KYGBge3J9DQpDYXNlcyA8LSByb3dTdW1zKEJGQ2FzZXNbICwyOjE2XSkgI3N1bWFyIGxhcyBmaWxhcyBbZmlsYXMsY29sdW1uYXNdDQpuYW1lcyhDYXNlcykgPC0gQkZDYXNlc1sgLDFdICNoYWNlIHF1ZSBubyBzdW1lIGxvcyBhw7FvcywgbG9zIGNvbnNpZGVyZXMgY29tbyBzdW1hcw0KQ2FzZXMNCg0KbHMoKSAjcGVybWl0ZSB2aXN1YWxpemFyIGxvcyBvYmpldG9zIGNyZWFkb3MgaGFzdGENCmBgYA0KDQojIyA1LjIuMiBSZWFsaXphY2nDs24gZGUgdmFyaW9zIGRpYWdyYW1hcyBkZSBwYXN0ZWwNCmBgYHtyfQ0Kb3AgPC0gcGFyKG1mcm93ID0gYygyLCAyKSwgbWFyID0gYygzLCAzLCAyLCAxKSkgIzIgZmlsYXMgMiBjb2x1bW5hcw0KIyhJbmZlcmlvciwgSXpxdWllcmRvLCBTdXBlcmlvciwgRGVyZWNobykNCiNUb2RvIGxvIHF1ZSBzZSBncmFmaXF1ZSBhIHBhcnRpciBkZSBkaWNoYSBjb3JyaWRhIGVzIHBhcmEgdWJpY2FyIGVuIG4gZGUgZ3LDoWZpY2FzIGVuIGVsIHBhbmVsDQpwaWUoQ2FzZXMsIG1haW4gPSAiT3JkaW5hcnkgcGllIGNoYXJ0IikNCnBpZShDYXNlcywgY29sID0gZ3JheShzZXEoMC40LCAxLjAsIGxlbmd0aCA9IDYpKSwNCiAgICBjbG9ja3dpc2UgPSBULCBtYWluID0gIkdyZXkgY29sb3VycyIpDQpwaWUoQ2FzZXMsIGNvbCA9IHJhaW5ib3coNiksIGNsb2Nrd2lzZSA9IFQsIG1haW4gPSAiUmFpbmJvdyBjb2xvdXJzIikNCnBhcihvcCkNCg0KI0N1YW5kbyByZW5kZXJpemFtb3MgZW4gbGEgcGVzdGHDsWEgcGxvdHMgYSB2ZWNlcyBubyBzYWxlbiBsb3MgZ3LDoWZpY29zIGRlbCB0YW1hw7FvIGRlbCBxdWUgZGViZXLDrWFuLCBkZXBlbmRlcsOhIGRlbCB0YW1hw7FvIGRlIGxhIHBhbnRhbGxhLCBzaW4gZW1iYXJnbyBiYXN0YSBjb24gY29sb2NhciBlbiB1bmEgcGVzdGHDsWEgZ3JhbmRlIHkgw7puaWNhIHRvZG9zIGxvcyBncsOhZmljb3NdXQ0KDQojSW5zdGFsYXIgbGEgbGlicmVyw61hIHBsb3RyaXggcGFyYSBlbCDDumx0aW1vIGRpYWdyYW1hIGRlIHBhc3RlbA0KI2luc3RhbGwucGFja2FnZXMoInBsb3RyaXgiKQ0KI05vIGZ1ZSBwb3NpYmxlIGluc3RhbGFyIGVzdGUgcGFxdWV0ZSBkZWJpZG8gYSBxdWUgZXMgbXV5IGFudGlndW8sIHBvciBsbyBxdWUgcHJvY2VkZXJlbW9zIGEgZ2VuZXJhciBvdHJvDQpgYGANCg0KIyMgNS4yLjMgVW4gZGlhZ3JhbWEgYSBsYSB2ZXogZW4gbHVnYXIgZGUgbG9zIDMNCmBgYHtyfQ0KcGFyKG5mcm93ID0gYygxLCAxKSkNCnBpZShDYXNlcywgbWFpbiA9ICJPcmRpbmFyeSBwaWUgY2hhcnQiKQ0KcGllKENhc2VzLCBjb2wgPSBncmF5KHNlcSgwLjQsIDEuMCwgbGVuZ3RoID0gNikpLA0KICAgIGNsb2Nrd2lzZSA9IFQsIG1haW4gPSAiR3JleSBjb2xvdXJzIikNCnBpZShDYXNlcywgY29sID0gcmFpbmJvdyg2KSwgY2xvY2t3aXNlID0gVCwgbWFpbiA9ICJSYWluYm93IGNvbG91cnMiKQ0KYGBgDQoNCiMgNS4yIERpYWdyYW1hcyBkZSBCYXJyYXMNCiMjIDUuMi4xIEltcG9ydGFjacOzbiB5IEVqZW1wbG8NCmBgYHtyfQ0Kc2V0d2QoIkM6L1VzZXJzL0hQL09uZURyaXZlL0RvY3VtZW50b3MvMDAuIEN1cnNvIGRlIFVkZW15L0N1cnNvIGRlIFJzdHVkaW8gQXZhbnphZG8iKQ0KQkZEZWF0aHMgPC0gcmVhZC5jc3YoZmlsZSA9ICJCaXJkRmx1RGVhdGhzLnR4dCIsIHNlcCA9ICJcdCIsIGhlYWRlciA9IFQpDQojVmlldyhCRkRlYXRocykNCkRlYXRocyA8LSByb3dTdW1zKEJGRGVhdGhzWywgMjoxNl0pDQpuYW1lcyhEZWF0aHMpIDwtIEJGRGVhdGhzWywxXQ0KT1AgPC0gcGFyIChtZnJvdyA9IGMoMiwgMiksIG1hciA9IGMoMywgMywgMiwgMSkpDQpiYXJwbG90KENhc2VzLCBtYWluID0gIkJpcmQgZmx1IGNhc2VzIikNCkNvdW50cyA8LSBjYmluZChDYXNlcywgRGVhdGhzKQ0KYmFycGxvdChDb3VudHMpDQpiYXJwbG90KHQoQ291bnRzKSwgY29sID0gZ3JheShjKDAuNSwgMSkpKQ0KYmFycGxvdCh0KENvdW50cyksIGJlc2lkZSA9VCkNCnBhcihPUCkNCmBgYA0KIyMgNS4yLjIgRGlhZ3JhbWEgZGUgQmFycmFzIGNvbiBhbsOhbGlzaXMgZXN0YWTDrXN0aWNvDQpgYGB7cn0NCnNldHdkKCJDOi9Vc2Vycy9IUC9PbmVEcml2ZS9Eb2N1bWVudG9zLzAwLiBDdXJzbyBkZSBVZGVteS9DdXJzbyBkZSBSc3R1ZGlvIEF2YW56YWRvIikNCkJlbnRoaWMgPC0gcmVhZC50YWJsZShmaWxlID0gIlJJS1oyLnR4dCIsIGhlYWRlciA9IFQpDQpCZW50Lk0gPC0gdGFwcGx5KFggPSBCZW50aGljJFJpY2huZXNzLCBJTkRFWCA9IEJlbnRoaWMkQmVhY2gsIEZVTiA9IG1lYW4pDQojSU5ERVggZXMgZWwgw61uZGljZSAodmFyaWFibGUgYmVhY2gpIGRvbmRlIHNlIGFsbWFjZW5hIGNhZGEgdW5hIGRlIGxhcyBtZWRpYXMgDQojZW4gY3VhbnRvIGEgbGEgdmFyIGFidW5kYW5jaWEsIHNlIHNhY8OzIGxhIG1lZGlhIGRlIGxhIGFidW5kYW5jaWEgZGUgY2FkYSBwbGF5YSAoc29uIDkgcGxheWFzKQ0KQmVudC5NICNNZWRpYSBkZSBsYSB2YXJpYWJsZSBhYnVuZGFuY2lhIHNlZ8O6biBjYWRhIHVuYSBkZSBsYXMgOSBwbGF5YXMNCkJlbnQuc2QgPC0gdGFwcGx5KFggPSBCZW50aGljJFJpY2huZXNzLCBJTkRFWCA9IEJlbnRoaWMkQmVhY2gsIEZVTiA9IHNkKQ0KQmVudC5zZCAjeWEgbm8gc2UgY2FsY3VsYW4gbG9zIHByb21lZGlvcyBzaW5vIGxhcyBkZXN2aWFjaW9uZXMgc3RhbmRhcnQNCmNsYXNzKEJlbnQuc2QpICNRdWUgc2VhIHVuIGFycmF5IHBvZHLDrWEgc2VyIHVuIGRhdGFmcmFtZSBvIHVuYSBtYXRyaXoNCg0KI1RvZG8gRGF0YSBGcmFtZSBlcyB1biBhcnJlZ2xvLCBwZXJvIG5vIHRvZG8gYXJyZWdsbyAoYXJyYXkpIGVzIHVuIERhdGEgRnJhbWUNCk1TRCA8LSBjYmluZChCZW50Lk0sIEJlbnQuc2QpICNDw7NkaWdvIHBhcmEgaGFjZXIgdW4gIk1lcmdlIiBvIHVuaXIgMiBvYmpldG9zKHNpIHN1cyBjbGFzZXMgY29uIGFycmVnbG9zIG8gYXJyYXlzKSwgY3V5b3MgZGF0b3Mgc2UgY29udmllbnRlbiBlbiB1bmEgbWF0cml6DQpNU0QgI2FycmVnbG8gbyBtYXRyaXogZGUgOSBmaWxhcyB5IDIgY29sdW1uYXMNCmBgYA0KDQojIyA1LjIuMyBEaWFncmFtYSBkZSBCYXJyYXMgY29uIE3DoXJnZW5lcw0KYGBge3J9DQpiYXJwbG90KEJlbnQuTSkgI0RpYWdyYW1hIGRlIGJhcnJhcyBzaW1wbGUNCmJhcnBsb3QoQmVudC5NLCB4bGFiID0gIkJlYWNoIiwgeWxpbSA9IGMoMCwgMjApLCB5bGFiID0gIlJpY2huZXNzIiwgY29sID0NCiAgICAgICAgICByYWluYm93KDkpKSAjRGlhZ3JhbWEgZGUgYmFycmFzIG3DoXMgZXNwZWPDrWZpY28NCg0KYnAgPC0gYmFycGxvdChCZW50Lk0sIHhsYWIgPSAiQmVhY2giLCB5bGltID0gYygwLCAyMCksIHlsYWIgPSAiUmljaG5lc3MiLA0KICAgICAgICAgICAgICBjb2wgPSByYWluYm93KGxlbmd0aCh1bmlxdWUoQmVudGhpYyRCZWFjaCkpKSkgI2xlbmd0aCh1bmlxdWUoQmVudGhpYyRCZWFjaCkgPSA5DQoNCmFycm93cyhicCwgQmVudC5NLCBicCwgQmVudC5NICsgQmVudC5zZCwgbHdkID0gMS41LCBhbmdsZSA9IDkwLCBsZW5ndGggPSAwLjEpDQojP2Fycm93czogZGVmaW5lIG3DoXJnZW5lcyBkZSBlcnJvcg0KDQpib3goKSAjZW5jaWVycmEgbGEgZmlndXJhDQpgYGANCg==