Ejercicios de manejo de estructuras de datos básicas en R.
Ejercicio 1
1. 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
2. Añade un nuevo elemento a la lista de 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
##
## $microsoft
## [1] 210 215 220
Ejercicio 2
1. Crea una nueva lista llamada indicadores que contenga los siguientes objetos: pib = 30000, inflación = 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(pública = 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, privida = 40)
indicadores<- list(
pib = Pib,
inflacion = Inflacion,
desempleo = Desempleo,
deuda = Deuda
)
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$privida
## [1] 40
2. Calcula el promedio de los elementos del tercer elemento de la lista indicadores.
## [1] 4.75
Ejercicio 3
1. 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.
Nombres<- c("Ana", "Luis", "Pedro")
Edad<- c(18,19,20)
Notas<- list( matematicas = c(8,7,9), hitoria = c(6,8,7),
ingles = c(9,10,8))
estudiantes<- list(
nombres = Nombres,
edad = Edad,
notas = Notas
)
print(estudiantes)## $nombres
## [1] "Ana" "Luis" "Pedro"
##
## $edad
## [1] 18 19 20
##
## $notas
## $notas$matematicas
## [1] 8 7 9
##
## $notas$hitoria
## [1] 6 8 7
##
## $notas$ingles
## [1] 9 10 8
2. Modifica el nombre del primer estudiante por “Elena”.
## [1] "Elena" "Luis" "Pedro"
3. 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”)
## [1] "F" "M" "NB"
Ejercicio 4
1. Crea un Data Frame llamado ventas_tiendas que contenga una matriz de datos de 5 por 5 donde las filas representan 5 tiendas distintas, 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”) )
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. Muestra en pantalla el valor ubicado en la fila 3, columna 4 (las ventas de la “Tienda C” en el dia_4).
## [1] 25
3. Muestra los valores de todas las tiendas únicamente para los días dia_2 y dia_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. Cambia las ventas de la “Tienda B” en el dia_1 por un valor de 14.
## 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. Incrementa en un 15% todos los valores registrados en la fila de la “Tienda E”.
## dia_1 dia_2 dia_3 dia_4 dia_5
## Tienda A 12.0 15.0 14.00 18.00 20.00
## Tienda B 14.0 11.0 13.00 12.00 15.00
## Tienda C 22.0 24.0 21.00 25.00 23.00
## Tienda D 16.0 17.0 19.00 20.00 18.00
## Tienda E 34.5 36.8 35.65 40.25 37.95
6. Reemplaza toda la columna dia_3 multiplicando sus valores actuales por 2.
## dia_1 dia_2 dia_3 dia_4 dia_5
## Tienda A 12.0 15.0 28.0 18.00 20.00
## Tienda B 14.0 11.0 26.0 12.00 15.00
## Tienda C 22.0 24.0 42.0 25.00 23.00
## Tienda D 16.0 17.0 38.0 20.00 18.00
## Tienda E 34.5 36.8 71.3 40.25 37.95