html_document: toc: true theme: “simplex”

Objetivo: apoyar a las y los estudiantes en el desarrollo y fortalecimiento de sus habilidades en programación en R y Estadística aplicada, a continuación, se presenta una serie de ejercicios que servir´an como base para el desarrollo de este curso.

Instrucciones: Resuelve los siguientes ejercicios prácticos utilizando R. Los ejercicios propuestos tienen distintas ponderaciones, y la calificación final de dicha actividad será dada a conocer en el espacio correspondiente de la plataforma Moodle. La ponderación se muestra al inicio o al final del respectivo enunciado del ejercicio.


library(readxl)

Jalisco <- read_excel("C:/Users/richa/OneDrive - CIDE/1er Semestre-DESKTOP-RPQUJJA/Manejo de bases de datos y programación/Actividad 1/Actividad 1/Jalisco.xlsx", col_names = TRUE, na = "*")

Ejercicio 1: Utilizando la información correspondiente a los resultados del Censo de Población y Vivienda 2020 del INEGI para el estado de Jalisco disponible en la plataforma Moodle, obtener lo siguiente:

Imagen1

1.1 Los 10 municipios con mayor proporción de población con alguna discapacidad.

tabla1 <- aggregate(cbind(as.numeric(POBTOT),as.numeric(P3YM_HLI))~NOM_MUN,
                    data=Jalisco,sum)
pob_ind <- tabla1$V2/tabla1$V1
tabla2 <- data.frame(Municipio= tabla1$NOM_MUN, Porcentaje_pob_ind=pob_ind)

install.packages('sqldf')
library(sqldf)
tabla3 <- sqldf("SELECT * FROM tabla2 
      ORDER BY Porcentaje_pob_ind DESC 
      LIMIT 10", row.names = TRUE)
install.packages("kableExtra")

library(kableExtra)

options(knitr.table.format = "html")

1.2 Los 30 municipios con mayor proporción de población con 65 años o más.

tabla4 <- aggregate(cbind(as.numeric(POBTOT),as.numeric(POB65_MAS))~NOM_MUN,
                    data=Jalisco,sum)
pob_65mas <- tabla4$V2/tabla4$V1
tabla5 <- data.frame(Municipio= tabla4$NOM_MUN, Porcentaje_pob_65mas=pob_65mas)

tabla6 <- sqldf("SELECT * FROM tabla5 
      ORDER BY Porcentaje_pob_65mas DESC 
      LIMIT 30", row.names = TRUE)

kbl(tabla6)

1.3 Los 30 municipios con mayor población económicamente activa.

tabla7<- aggregate(cbind(as.numeric(PEA))~NOM_MUN,
                    data=Jalisco,sum)
Pob_Eco<- Jalisco$PEA

tabla8<- data.frame(Municipio = tabla7$NOM_MUN, Pob_Eco = Pob_Eco)

tabla9<- sqldf("SELECT * FROM tabla8 
      ORDER BY Pob_Eco DESC 
      LIMIT 30", row.names = TRUE)
      

kbl(tabla9)

1.4 Los 10 municipios con mayor proporción de población sin educación básica.


tabla10<- aggregate(cbind(as.numeric(POBTOT),as.numeric(P15YM_SE)) ~ NOM_MUN,
                     data=Jalisco,sum)
                     
pob_sinedu <- tabla10$V2/tabla10$V1

tabla11<- data.frame(Municipio = tabla10$NOM_MUN, Porcentaje_pob_sinedu = pob_sinedu)

tabla12<- sqldf("SELECT * FROM tabla11 
      ORDER BY Porcentaje_pob_sinedu DESC 
      LIMIT 30", row.names = TRUE)
      

kbl(tabla12)

1.5 Los 10 municipios con mayor población indígena.

tabla13<-aggregate(cbind(as.numeric(P3YM_HLI))~NOM_MUN,
                     data=Jalisco,sum)

Pob_ind<- c(Jalisco$P3YM_HLI, NA = 0)

tabla14<- data.frame(Municipio = tabla13$NOM_MUN, Pob_ind = Pob_ind)

tabla141 <- sqldf("SELECT * FROM tabla14 
      ORDER BY Pob_ind DESC 
      LIMIT 10", row.names = TRUE) 

kbl(tabla14)

1.6 Los 10 municipios con mayor proporción de viviendas particulares habitadas con internet.

tabla15<- aggregate(cbind(as.numeric(VIVTOT),as.numeric(VPH_INTER))~NOM_MUN,
                     data=Jalisco,sum)
viv_int <- tabla10$V2/tabla10$V1

tabla16 <- data.frame(Municipio = tabla15$NOM_MUN, Porcentaje_viv_int = viv_int)

tabla17 <- sqldf("SELECT * FROM tabla16 
      ORDER BY Porcentaje_viv_int DESC 
      LIMIT 30", row.names = TRUE)

kbl(tabla17)

___

Ejercicio 2

Imagen 2

2.1 Demostrar que la siguiente cadena de texto es un palindromo: A mama Roma le aviva el amor a papa y a papa Roma le aviva el amor a mama

palindromo <- function(word)
{
  library(stringr)
  split_word <- unlist((str_split(word, pattern = "")))
  reverse_word <- split_word[str_length(word):1]
  paste_word <- paste(reverse_word, collapse = "")
  cat(word == paste_word)
}''

oracion <- c("amamaromaleavivaelamorapapayapaparomaleavivaelamoramama")

palindromo(oracion)

Ejercicio 3

3.1 Probar si la siguiente matriz (X) es definida positiva y, si si, obtener su inversa. Y una vez obtenida su inversa, comprobar que XX−1 = I

matriz <- c(3, 4, -1, 2, -1, 3, 2, 2, 1)

matriz <- matrix(matriz, nrow = 3, ncol = 3, byrow = TRUE)

H1 <- matriz[1,1] > 0

H1

H2 <- det(matriz) > 0

H2

{
  if(H1 == TRUE & H2 == TRUE)
  {
    print(paste0("H1 y H2 son positivas, la matriz es definida positiva"))
  }
  else
  {
    print(paste0("H1 y H2 no son ambas positivas, la matriz es definida negativa")) 
  }
}

#### [1] "H1 y H2 no son ambas positivas, la matriz es definida negativa"