A12 - Ejercicios de manejo de estructuras de datos

Ejercicio 1

### 1.Creación de lista

acciones_apple<-c(120, 125, 130)
acciones_google<-c(1800, 1850, 1900)
acciones_amazon<-c(3200,3300,3400)

acciones<- list(apple= acciones_apple,
                google=acciones_google,
                amazon=acciones_amazon)
print(acciones)
## $apple
## [1] 120 125 130
## 
## $google
## [1] 1800 1850 1900
## 
## $amazon
## [1] 3200 3300 3400
### 2.Añadir nuevo elemento
acciones$microsoft<-c(210, 215, 220)
acciones
## $apple
## [1] 120 125 130
## 
## $google
## [1] 1800 1850 1900
## 
## $amazon
## [1] 3200 3300 3400
## 
## $microsoft
## [1] 210 215 220
### 3.Extraer segundo elemento 
acciones[[2]][[2]]
## [1] 1850

Ejercicio 2

### 1. Creación de lista
indicadores <- list(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))

print(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
### 2.Promedio y modificación 
promedio<-mean(indicadores[[3]])
print(promedio)
## [1] 4.75
incremento<-indicadores$deuda$publica * 1.20
print(incremento)
## [1] 72

Ejercicio 3

### 1.Creación de lista
estudiantes <- list( 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) ))
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
### 2.Modificar nombre
estudiantes$nombre[1]<- "Elena"
print(estudiantes$nombre)
## [1] "Elena" "Luis"  "Pedro"
### 3.Añadir nuevo elemento 
estudiantes$genero<-c("F", "M", "NB")
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"
### 4.Cambiar nota
estudiantes$notas$ingles[3]<-9
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

### 1.Creación de Data Frame
ventas_tiendas <- data.frame(dia_1 = c(12, 10, 22, 16, 30),
                             dia_2 = c(15, 11, 24, 17, 32),
                             dia_3 = c(14, 13, 21, 19, 31),
                             dia_4 = c(18, 12, 25, 20, 35),
                             dia_5 = c(20, 15, 23, 18, 33),
                             row.names = c("Tienda A", "Tienda B", "Tienda C", "Tienda D", "Tienda E"))

print(ventas_tiendas)                                                        
##          dia_1 dia_2 dia_3 dia_4 dia_5
## Tienda A    12    15    14    18    20
## Tienda B    10    11    13    12    15
## Tienda C    22    24    21    25    23
## Tienda D    16    17    19    20    18
## Tienda E    30    32    31    35    33
### 2.Valor en tienda C, dia 4
tienda_c<-ventas_tiendas[3,4]
print(tienda_c)
## [1] 25
### 3.Muestra de todas las tiendas
ventas_2_5<-ventas_tiendas[,c("dia_2","dia_5")]
print(ventas_2_5)
##          dia_2 dia_5
## Tienda A    15    20
## Tienda B    11    15
## Tienda C    24    23
## Tienda D    17    18
## Tienda E    32    33
### 4.Cambiar las ventas de Tienda B
ventas_tiendas["Tienda B","dia_1"]<-14
ventas_tiendas
##          dia_1 dia_2 dia_3 dia_4 dia_5
## Tienda A    12    15    14    18    20
## Tienda B    14    11    13    12    15
## Tienda C    22    24    21    25    23
## Tienda D    16    17    19    20    18
## Tienda E    30    32    31    35    33
### 5.Incrementar los valores en Tienda E
tienda_e<-ventas_tiendas["Tienda E",]*1.15
print(tienda_e)
##          dia_1 dia_2 dia_3 dia_4 dia_5
## Tienda E  34.5  36.8 35.65 40.25 37.95
### 6.Reemplazar columna dia 3
tienda_dia_3<-ventas_tiendas$dia_3*2
print(tienda_dia_3)
## [1] 28 26 42 38 62