Ejercicios de manejo de estructuras de datos básicas en R.
Metodos para el analisis economico
Docente: Carlos Ademir Perez Alas
Grupo teorico: “02”
Ejercicio 1
a) Crea una lista llamada acciones que contenga la siguiente información en vectores: apple : 120, 125, 130; google: 1800, 1850, 1900 y amazon = 3200, 3300, 3400. Estos vectores representan los precios de cierre de las acciones de estas empresas en tres días consecutivos. Asigna nombres a los elementos de la lista según el nombre de la empresa.
apple <-c(120,125,130)
google <- c(1800,1850,1900)
amazon <-c(3200,3300,3400)
acciones<-list(apple=apple,google=google,amazon=amazon)
print(acciones)## $apple
## [1] 120 125 130
##
## $google
## [1] 1800 1850 1900
##
## $amazon
## [1] 3200 3300 3400
b) Añade un nuevo elemento a la lista acciones que sea un vector con los precios de cierre de las acciones de Microsoft en los mismos tres días: Microsoft: 210, 215, 220.
## $apple
## [1] 120 125 130
##
## $google
## [1] 1800 1850 1900
##
## $amazon
## [1] 3200 3300 3400
##
## [[4]]
## [[4]]$microsoft
## [1] 210 215 220
Ejercicio 2
a) Crea una nueva lista llamada indicadores que contenga los siguientes objetos: pib = 30000, inflacion = c(2.5, 3.0, 3.5), desempleo = matrix(c(5.0, 5.5, 6.0, 4.5, 4.0, 3.5), nrow = 2) y deuda = list(publica = 60, privada = 40). Estos objetos representan el producto interno bruto (PIB), la inflación, el desempleo y la deuda de un país en millones de dólares. Muestra el contenido de la lista.
pib <- 30000
inflacion = c(2.5, 3.0, 3.5)
desempleo = matrix(c(5.0, 5.5, 6.0, 4.5, 4.0, 3.5), nrow = 2)
deuda <- list(publica = 60, privada = 40)
indicadores<-list(pib,inflacion,desempleo,deuda)
indicadores## [[1]]
## [1] 30000
##
## [[2]]
## [1] 2.5 3.0 3.5
##
## [[3]]
## [,1] [,2] [,3]
## [1,] 5.0 6.0 4.0
## [2,] 5.5 4.5 3.5
##
## [[4]]
## [[4]]$publica
## [1] 60
##
## [[4]]$privada
## [1] 40
b) Calcula el promedio de los elementos del tercer elemento de la lista indicadores
Ejercicio 3
a) Crea una lista llamada estudiantes que contenga los siguientes objetos: nombre = c(“Ana”, “Luis”, “Pedro”), edad = c(18, 19, 20) y notas = list(matematicas = c(8, 7, 9), historia = c(6, 8, 7), ingles = c(9, 10, 8)). Estos objetos representan el nombre, la edad y las notas de tres estudiantes en tres asignaturas.
nombre = c("Ana","Luis", "Pedro")
edad = c(18, 19, 20)
notas = list(matematicas = c(8, 7, 9), historia = c(6, 8,7), ingles = c(9, 10, 8))
estudiantes<-list(nombre = nombre,edad = edad, notas = notas)
print(estudiantes)## $nombre
## [1] "Ana" "Luis" "Pedro"
##
## $edad
## [1] 18 19 20
##
## $notas
## $notas$matematicas
## [1] 8 7 9
##
## $notas$historia
## [1] 6 8 7
##
## $notas$ingles
## [1] 9 10 8
b) Modifica el nombre del primer estudiante por “Elena”.
## $nombre
## [1] "Elena" "Luis" "Pedro"
##
## $edad
## [1] 18 19 20
##
## $notas
## $notas$matematicas
## [1] 8 7 9
##
## $notas$historia
## [1] 6 8 7
##
## $notas$ingles
## [1] 9 10 8
c) Añade un nuevo elemento a la lista estudiantes que sea un vector con los géneros de los estudiantes: genero = c(“F”, “M”, “NB”)
genero = c("F", "M", "NB")
length(estudiantes)<-4
estudiantes[[4]][1]<-list(genero = genero)
estudiantes## $nombre
## [1] "Elena" "Luis" "Pedro"
##
## $edad
## [1] 18 19 20
##
## $notas
## $notas$matematicas
## [1] 8 7 9
##
## $notas$historia
## [1] 6 8 7
##
## $notas$ingles
## [1] 9 10 8
##
##
## [[4]]
## [[4]][[1]]
## [1] "F" "M" "NB"
d) Cambia la nota de inglés del tercer estudiante por un 9.
## $nombre
## [1] "Elena" "Luis" "Pedro"
##
## $edad
## [1] 18 19 20
##
## $notas
## $notas$matematicas
## [1] 8 7 9
##
## $notas$historia
## [1] 6 8 7
##
## $notas$ingles
## [1] 9 10 9
##
##
## [[4]]
## [[4]][[1]]
## [1] "F" "M" "NB"
Ejercicio 4
a) Crea el objeto lista_4, a partir de la siguiente imagen:
a11<-c(1,2,3)
a12<-c(4,5,6)
a21<-c(7,8,9)
a22<-c(10,11,12)
b11<-c(13,14,15)
b12<-c(16,17,18)
b21<-c(19,20,21)
b22<-c(22,23,24)
a1<-list(a11,a12)
a2<-list(a21,a22)
a<-list(a1=a1,a2=a2)
b1<-list(b11,b12)
b2<-list(b21,b22)
b<-list(b1=b1,b2=b2)
lista_4<-list(a=a,b=b)
lista_4## $a
## $a$a1
## $a$a1[[1]]
## [1] 1 2 3
##
## $a$a1[[2]]
## [1] 4 5 6
##
##
## $a$a2
## $a$a2[[1]]
## [1] 7 8 9
##
## $a$a2[[2]]
## [1] 10 11 12
##
##
##
## $b
## $b$b1
## $b$b1[[1]]
## [1] 13 14 15
##
## $b$b1[[2]]
## [1] 16 17 18
##
##
## $b$b2
## $b$b2[[1]]
## [1] 19 20 21
##
## $b$b2[[2]]
## [1] 22 23 24
##### b) Cambia el nombre de la lista
“b1” a “sub_lista_b”
## $a
## $a$a1
## $a$a1[[1]]
## [1] 1 2 3
##
## $a$a1[[2]]
## [1] 4 5 6
##
##
## $a$a2
## $a$a2[[1]]
## [1] 7 8 9
##
## $a$a2[[2]]
## [1] 10 11 12
##
##
##
## $b
## $b$sub_lista_b
## $b$sub_lista_b[[1]]
## [1] 13 14 15
##
## $b$sub_lista_b[[2]]
## [1] 16 17 18
##
##
## $b$b2
## $b$b2[[1]]
## [1] 19 20 21
##
## $b$b2[[2]]
## [1] 22 23 24
c) Elimina el objeto “b22”
## $a
## $a$a1
## $a$a1[[1]]
## [1] 1 2 3
##
## $a$a1[[2]]
## [1] 4 5 6
##
##
## $a$a2
## $a$a2[[1]]
## [1] 7 8 9
##
## $a$a2[[2]]
## [1] 10 11 12
##
##
##
## $b
## $b$sub_lista_b
## $b$sub_lista_b[[1]]
## [1] 13 14 15
##
## $b$sub_lista_b[[2]]
## [1] 16 17 18
##
##
## $b$b2
## $b$b2[[1]]
## [1] 19 20 21
##### d) Agrega la lista “c”
dentro de lista_4, y agrégale a la lista “c” los elementos “c11”, con
una matriz identidad de orden 3 y “c12” con una matriz de caracteres
cuadrada de orden 2 vacía.
length(lista_4)<-3
c11<-matrix(data=c(1,0,0,0,1,0,0,0,1),nrow = 3,byrow= TRUE)
c12<-matrix(data=c("","","","","",""),nrow = 2,byrow= TRUE)
C<-list(c11=c11,c12=c12)
lista_4[[3]]<-c
lista_4## $a
## $a$a1
## $a$a1[[1]]
## [1] 1 2 3
##
## $a$a1[[2]]
## [1] 4 5 6
##
##
## $a$a2
## $a$a2[[1]]
## [1] 7 8 9
##
## $a$a2[[2]]
## [1] 10 11 12
##
##
##
## $b
## $b$sub_lista_b
## $b$sub_lista_b[[1]]
## [1] 13 14 15
##
## $b$sub_lista_b[[2]]
## [1] 16 17 18
##
##
## $b$b2
## $b$b2[[1]]
## [1] 19 20 21
##
##
##
## [[3]]
## function (...) .Primitive("c")
e) Muestra la captura de pantalla de tu sesión mostrando un esquema como el que aparece en el literal a) de este ejercicio
## $a
## $a$a1
## $a$a1[[1]]
## [1] 1 2 3
##
## $a$a1[[2]]
## [1] 4 5 6
##
##
## $a$a2
## $a$a2[[1]]
## [1] 7 8 9
##
## $a$a2[[2]]
## [1] 10 11 12
##
##
##
## $b
## $b$sub_lista_b
## $b$sub_lista_b[[1]]
## [1] 13 14 15
##
## $b$sub_lista_b[[2]]
## [1] 16 17 18
##
##
## $b$b2
## $b$b2[[1]]
## [1] 19 20 21
##
##
##
## [[3]]
## function (...) .Primitive("c")