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.

# Vectores
apple <- c(120, 125, 130)

google <- c(1800, 1850, 1900)

amazon <- c(3200, 3300, 3400)

# Lista 
acciones <- list(apple = apple, google = google, amazon = amazon)

# Mostrar 
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.

# Nuevo vector
microsoft <- c(210, 215, 220)

# Añadir el nuevo vector a la lista
acciones$Microsoft <- microsoft

# Mostrar
acciones
## $apple
## [1] 120 125 130
## 
## $google
## [1] 1800 1850 1900
## 
## $amazon
## [1] 3200 3300 3400
## 
## $Microsoft
## [1] 210 215 220

c) Extrae el segundo elemento del vector google que está dentro de la lista acciones

# Para extraer el segundo elemento 
segundo_elemento_google <- acciones$google[2]

# Mostrar
segundo_elemento_google
## [1] 1850

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.

# 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)

deuda <- list(publica = 60, privada = 40)

# Lista
indicadores <- list(pib = pib, inflacion = inflacion, desempleo = desempleo, deuda = deuda)

# Contenido de la lista
indicadores
## $pib
## [1] 30000
## 
## $inflacion
## [1] 2.5 3.0 3.5
## 
## $desempleo
##      [,1] [,2] [,3]
## [1,]  5.0  6.0  4.0
## [2,]  5.5  4.5  3.5
## 
## $deuda
## $deuda$publica
## [1] 60
## 
## $deuda$privada
## [1] 40

b) Calcula el promedio de los elementos del tercer elemento de la lista indicadores

# Tercer elemento de la lista 
desempleo <- indicadores$desempleo

# Calcular el promedio 
promedio_desempleo <- mean(desempleo)

# Promedio
promedio_desempleo
## [1] 4.75

c) A través de los comandos apropiados modifica el valor de la deuda publica en un 20% adicional al que ya tiene.

deuda_publica_actual <- indicadores$deuda$publica

# Incrementar el valor en un 20%
deuda_publica_actual <- deuda_publica_actual * 1.20

# Nuevo valor a la lista
indicadores$deuda$publica <- deuda_publica_actual

# Mostrar
indicadores$deuda$publica
## [1] 72

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.

# Objetos
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))

#  lista
estudiantes <- list(nombre = nombre, edad = edad, notas = notas)

# Mostrar 
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”.

# Modificar el nombre 
estudiantes$nombre[1] <- "Elena"

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

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”)

# Vector de géneros
genero <- c("F", "M", "NB")

# Nuevo elemento 
estudiantes$genero <- genero

# Mostrar 
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
## 
## 
## $genero
## [1] "F"  "M"  "NB"

d) Cambia la nota de inglés del tercer estudiante por un 9.

# Cambiar nota
estudiantes$notas$ingles[3] <- 9

# Mostrar 
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  9
## 
## 
## $genero
## [1] "F"  "M"  "NB"

Ejercicio 4

a) Crea el objeto lista_4, a partir de la siguiente imagen:

# Para a: 
a1 <- list(a11 = c(1, 2, 3), a12 = c(4, 5, 6))

a2 <- list(a21 = c(7, 8, 9), a22 = c(10, 11, 12))

# Para b:

b1 <- list(b11 = c(13, 14, 15), b12 = c(16, 17, 18))

b2 <- list(b21 = c(19, 20, 21), b22 = c(22, 23, 24))

# Lista

lista_4 <- list(a = list(a1 = a1, a2 = a2), b = list(b1 = b1, b2 = b2))

lista_4
## $a
## $a$a1
## $a$a1$a11
## [1] 1 2 3
## 
## $a$a1$a12
## [1] 4 5 6
## 
## 
## $a$a2
## $a$a2$a21
## [1] 7 8 9
## 
## $a$a2$a22
## [1] 10 11 12
## 
## 
## 
## $b
## $b$b1
## $b$b1$b11
## [1] 13 14 15
## 
## $b$b1$b12
## [1] 16 17 18
## 
## 
## $b$b2
## $b$b2$b21
## [1] 19 20 21
## 
## $b$b2$b22
## [1] 22 23 24

b) Cambia el nombre de la lista “b1” a “sub_lista_b”

# Cambiar el nombre de b1 a sub_lista_b
names(lista_4$b)[names(lista_4$b) == "b1"] <- "sub_lista_b"

# Mostrar
lista_4
## $a
## $a$a1
## $a$a1$a11
## [1] 1 2 3
## 
## $a$a1$a12
## [1] 4 5 6
## 
## 
## $a$a2
## $a$a2$a21
## [1] 7 8 9
## 
## $a$a2$a22
## [1] 10 11 12
## 
## 
## 
## $b
## $b$sub_lista_b
## $b$sub_lista_b$b11
## [1] 13 14 15
## 
## $b$sub_lista_b$b12
## [1] 16 17 18
## 
## 
## $b$b2
## $b$b2$b21
## [1] 19 20 21
## 
## $b$b2$b22
## [1] 22 23 24

c) Elimina el objeto “b22”

# Eliminar el objeto b22
lista_4$b$b2$b22 <- NULL

# Mostrar
lista_4
## $a
## $a$a1
## $a$a1$a11
## [1] 1 2 3
## 
## $a$a1$a12
## [1] 4 5 6
## 
## 
## $a$a2
## $a$a2$a21
## [1] 7 8 9
## 
## $a$a2$a22
## [1] 10 11 12
## 
## 
## 
## $b
## $b$sub_lista_b
## $b$sub_lista_b$b11
## [1] 13 14 15
## 
## $b$sub_lista_b$b12
## [1] 16 17 18
## 
## 
## $b$b2
## $b$b2$b21
## [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.

# Matriz identidad
c11 <- diag(3)

# Matriz cuadrada
c12 <- matrix("", nrow = 2, ncol = 2)

# Lista c 
c <- list(c11 = c11, c12 = c12)

# Agregar la lista c a lista_4
lista_4$c <- c

# Mostrar
lista_4
## $a
## $a$a1
## $a$a1$a11
## [1] 1 2 3
## 
## $a$a1$a12
## [1] 4 5 6
## 
## 
## $a$a2
## $a$a2$a21
## [1] 7 8 9
## 
## $a$a2$a22
## [1] 10 11 12
## 
## 
## 
## $b
## $b$sub_lista_b
## $b$sub_lista_b$b11
## [1] 13 14 15
## 
## $b$sub_lista_b$b12
## [1] 16 17 18
## 
## 
## $b$b2
## $b$b2$b21
## [1] 19 20 21
## 
## 
## 
## $c
## $c$c11
##      [,1] [,2] [,3]
## [1,]    1    0    0
## [2,]    0    1    0
## [3,]    0    0    1
## 
## $c$c12
##      [,1] [,2]
## [1,] ""   ""  
## [2,] ""   ""

e) Muestra la captura de pantalla de tu sesión mostrando un esquema como el que aparece en el literal a) de este ejercicio

Captura de pantalla
Captura de pantalla