Ejercicios
#Ian Fernando Castillo Cortés A01198941
#Perla Sofia Reyes Bretado A00839262
#Problema 1
x = c(10, 7, 18, -11, 6, -34, 29)
print(x)
## [1] 10 7 18 -11 6 -34 29
#Problema 2
#Cauclula media del vector x
media = mean(x)
#Cauclula desviación estandar del vector x
desviacion_estandar = sd(x)
#Cauclula varianza del vector x
varianza = var(x)
#Se guardan los tres valores anteriores en el vector estadx
estadx =c(media, desviacion_estandar, varianza)
#Resultados
print(estadx)
## [1] 3.571429 20.565806 422.952381
#Problema 3
#Se crea una matriz de 1x70, con numeros del 10 al 80.
numeros_10_80 = matrix(10:80,nrow = 1)
#Se crea una matriz de 1x75 con numeros del 25 al 100 y se saca la media de estos.
media_25_100 = mean(matrix(25:100, nrow = 1))
#Se crea una matriz de 1x45 con numeros del 50 al 95 y se saca la suma de estos.
suma_50_95 = sum(matrix(50:95, nrow = 1))
#Resultados
print(numeros_10_80)
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14]
## [1,] 10 11 12 13 14 15 16 17 18 19 20 21 22 23
## [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24] [,25] [,26]
## [1,] 24 25 26 27 28 29 30 31 32 33 34 35
## [,27] [,28] [,29] [,30] [,31] [,32] [,33] [,34] [,35] [,36] [,37] [,38]
## [1,] 36 37 38 39 40 41 42 43 44 45 46 47
## [,39] [,40] [,41] [,42] [,43] [,44] [,45] [,46] [,47] [,48] [,49] [,50]
## [1,] 48 49 50 51 52 53 54 55 56 57 58 59
## [,51] [,52] [,53] [,54] [,55] [,56] [,57] [,58] [,59] [,60] [,61] [,62]
## [1,] 60 61 62 63 64 65 66 67 68 69 70 71
## [,63] [,64] [,65] [,66] [,67] [,68] [,69] [,70] [,71]
## [1,] 72 73 74 75 76 77 78 79 80
print(media_25_100)
## [1] 62.5
print(suma_50_95)
## [1] 3335
#Problena 4
#Se crea un vector de 10 numeros con valores aleatorios entre -150 y 500
vector_random_150_500 = c(sample(-150:500,10))
#Resultado
print(vector_random_150_500)
## [1] 99 254 -58 107 189 154 118 367 395 387
#Problema 5
#Se crea un vector con 10 numeros de valor 0.
fb <- numeric(10)
#Se definen los primeros dos valores de la serie de fibonacci.
fb[1] <- fb[2] <- 1
#Se crea un loop de 8 iteraciones para calcular los 8 numeros restantes.
for(i in 1:8){
#Se lleva a cabo los calculos de la serie de fibonnaci
fb[i + 2] = fb[i] + fb[i+1]
}
#Resultados
print(fb)
## [1] 1 1 2 3 5 8 13 21 34 55
#Problema 6
#Se crea una función que obtiene el maximo y minimo de una lista.
max_min = function(lista){
#Desde un principio, se utiliza el primer valor de la lista como el maximo y minimo, con el afán de inicializar las variables.
min = lista[1]
max = lista[1]
#Se hace un for loop que itera segun el tamaño de la lista.
for(i in 1:length(lista)){
#Si el valor actual del i-esimo numero en la lista es menor al minimo actual, se define este i-esimo numero como el "nuevo minimo".
if(lista[i] < min){
min = lista[i]
}
#De forma analoga al minimo, pero si el i-esimo es mayor al maximo actual, este se vuelve el "nuevo maximo".
if(lista[i] > max){
max = lista[i]
}
}
#Tras todas las iteraciones, se crea un vector que incluye el minimo y maximo de la lista.
respuestas = c(min, max)
#La función regresa el vectro que incluye el minimo y maximo.
return(respuestas)
}
#Respuestas
lista_1 = c(-1, 20, -3, 40, -5, 60)
lista_2 = c(10, 20, 30, -40, -50, -60)
respuestas_lista_1 = max_min(lista_1)
respuestas_lista_2 = max_min(lista_2)
#Minimo lista 1
print(respuestas_lista_1[1])
## [1] -5
#Maximo lista 1
print(respuestas_lista_1[2])
## [1] 60
#Minimo lista 2
print(respuestas_lista_2[1])
## [1] -60
#Maximo lista 2
print(respuestas_lista_2[2])
## [1] 30
#EJERCICIO 7
#función
multiplica <- function(vect1, vect2) {
#condición
#si el vector es igual se realiza la operación
if(length(vect1) == length(vect2)) {
return(vect1 * vect2)
} else {
#si el vector no tiene la misma longitud, no se realiza
stop("Entrada incorrecta, la longitud del vector debe ser la misma")
}
}
# Ejemplo
resultado <- multiplica(c(30, 10), c(3, 4))
print(resultado)
## [1] 90 40
#EJERCICIO 8
#función
cuenta <- function(vect, num) {
valor_esp <- sum(vect == num)
return(valor_esp)
}
ans <- cuenta(c(10, 2, 10, 7, 2, 7, 2), 2)
print(ans)
## [1] 3
#EJERCICIO 9
#función
vect <- 1:100
enesimo <- function(vect, num) {
i <- seq(from = 1, to = length(vect), by = num)
dato <- vect[i]
return(dato)
}
resultado <- enesimo(vect, 5)
print(resultado)
## [1] 1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96