EJERCICIO 2.1
PUNTO A
Se define la variable ‘a’ como 2.3
a <- 2.3
Se define la ecuación como una expresión que involucra ‘a’,
multiplicación, división y exponenciación
equation <- (6 * a + 42) / (3^(4.2 - 3.62))
Se calcula el valor de la ecuación y se redondea a 6 decimales
resultado <- round(equation, digits = 6)
Se compara el resultado con el valor esperado (29.50556)
if (resultado == 29.50556) {
cat("**La ecuación se cumple para a = 2.3**")
} else {
cat("**La ecuación no se cumple para a = 2.3**")
}
## **La ecuación no se cumple para a = 2.3**
Se imprime el valor calculado de la ecuación
cat("El valor calculado es:", resultado)
## El valor calculado es: 29.50556
PUNTO B
Elevar al cuadrado -4 y sumar 2
opcion_i <- (-4)^2 + 2
opcion_ii <- -4^2 + 2
opcion_iii <- (-4)^(2 + 2) # Esto es lo mismo que -4^4
Imprimir resultados
cat("Opción i: ", opcion_i, "\n")
## Opción i: 18
cat("Opción ii: ", opcion_ii, "\n")
## Opción ii: -14
cat("Opción ii: ", opcion_ii, "\n")
## Opción ii: -14
PUNTO C
Define la lista de números
numeros <- c(25.2, 15, 16.44, 15.3, 18.6)
Calcula el promedio
promedio <- mean(numeros)
Calcula la mitad del promedio
mitad_promedio <- promedio / 2
Calcula la raíz cuadrada
raiz_cuadrada <- sqrt(mitad_promedio)
Imprime el resultado (redondeado a 4 decimales)
cat("La raíz cuadrada de la mitad del promedio es:", round(raiz_cuadrada, 4), "\n")
## La raíz cuadrada de la mitad del promedio es: 3.009
PUNTO D
Intentar calcular el logaritmo natural de 0.3
resultado <- log(0.3)
Verificar si el resultado es NaN (Not a Number)
if (is.nan(resultado)) {
cat("El logaritmo natural de 0.3 no está definido (NaN)")
} else {
cat("El logaritmo natural de 0.3 es:", resultado)
}
## El logaritmo natural de 0.3 es: -1.203973
PUNTO E
Definir el valor original (que no tiene logaritmo natural)
valor_original <- 0.3
Intentar calcular el logaritmo natural
logaritmo_natural <- log(valor_original)
Verificar si el logaritmo natural es NaN
if (is.nan(logaritmo_natural)) {
cat("El logaritmo natural de 0.3 no está definido (NaN)")
} else {
cat("El logaritmo natural de 0.3 es:", logaritmo_natural)
}
## El logaritmo natural de 0.3 es: -1.203973
PUNTO F
numero <- -0.00000000423546322
Imprimir el número
cat(numero)
## -4.235463e-09
Imprimir el número con 10 dígitos significativos
options(digits = 10)
cat(numero)
## -4.23546322e-09
EJERCICIO 2.2
PUNTO A
Multiplicamos 32 por 4
resultado_base <- 32 * 4
Convertimos 1/8 a decimal
octavo <- 1 / 8
Sumamos el resultado de la multiplicación a la fracción
resultado_final <- resultado_base + octavo
Almacenamos el resultado en un objeto llamado “valor_total”
valor_total <- resultado_final
Mostramos el valor del objeto
print(valor_total)
## [1] 128.125
PUNTO B
Suponiendo que “valor_total” ya existe de cálculos previos
Sobrescribir “valor_total” con sí mismo dividido por 2.33 (división
en el lugar)
valor_total <- valor_total / 2.33
Imprimir el valor sobrescrito de “valor_total”
print(valor_total)
## [1] 54.98927039
PUNTO C
Creamos un nuevo objeto llamado “valor_pequeno”
valor_pequeno <- -8.2 * 10^(-13)
Mostramos el valor del objeto
print(valor_pequeno)
## [1] -8.2e-13
PUNTO D
Multiplicar las variables
producto <- valor_total * valor_pequeno
Imprimir el resultado
print(producto)
## [1] -4.509120172e-11
EJERCICIO 2.3
PUNTO A
Crea una secuencia de valores de 5 a -11 con pasos de 0.3
mi_secuencia <- seq(from = 5, to = -11, by = -0.3)
Imprime la secuencia para verificar
print(mi_secuencia)
## [1] 5.0 4.7 4.4 4.1 3.8 3.5 3.2 2.9 2.6 2.3 2.0 1.7
## [13] 1.4 1.1 0.8 0.5 0.2 -0.1 -0.4 -0.7 -1.0 -1.3 -1.6 -1.9
## [25] -2.2 -2.5 -2.8 -3.1 -3.4 -3.7 -4.0 -4.3 -4.6 -4.9 -5.2 -5.5
## [37] -5.8 -6.1 -6.4 -6.7 -7.0 -7.3 -7.6 -7.9 -8.2 -8.5 -8.8 -9.1
## [49] -9.4 -9.7 -10.0 -10.3 -10.6 -10.9
PUNTO B
Invierte el orden de la secuencia en mi_secuencia
mi_secuencia <- rev(mi_secuencia)
Imprime la secuencia invertida para verificar
print(mi_secuencia)
## [1] -10.9 -10.6 -10.3 -10.0 -9.7 -9.4 -9.1 -8.8 -8.5 -8.2 -7.9 -7.6
## [13] -7.3 -7.0 -6.7 -6.4 -6.1 -5.8 -5.5 -5.2 -4.9 -4.6 -4.3 -4.0
## [25] -3.7 -3.4 -3.1 -2.8 -2.5 -2.2 -1.9 -1.6 -1.3 -1.0 -0.7 -0.4
## [37] -0.1 0.2 0.5 0.8 1.1 1.4 1.7 2.0 2.3 2.6 2.9 3.2
## [49] 3.5 3.8 4.1 4.4 4.7 5.0
PUNTO C
Define el vector
vec <- c(-1, 3, -5, 7, -9)
Repite cada elemento 10 veces y concatena dentro del vector
elementos_repetidos <- rep(vec, times = 10) # elementos_repetidos en lugar de repeated_vec
Ordena el vector repetido de mayor a menor
vector_ordenado <- sort(elementos_repetidos, decreasing = TRUE) # vector_ordenado en lugar de sorted_vec
Imprime el vector ordenado
print(vector_ordenado)
## [1] 7 7 7 7 7 7 7 7 7 7 3 3 3 3 3 3 3 3 3 3 -1 -1 -1 -1 -1
## [26] -1 -1 -1 -1 -1 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9
PUNTO D
Define las secuencias y valores
sec_enteros <- 6:12 # Secuencia de enteros del 6 al 12
valor_repetido <- rep(5.3, times = 3) # Repite 5.3 tres veces
numero <- -3 # Número -3
Suponiendo que el vector creado en (c) está almacenado en
‘vector_ordenado’
longitud_total <- length(vector_ordenado) # Obtén la longitud del vector de la parte c
Secuencia final (9 valores) comenzando en 102 y terminando en
longitud_total
sec_final <- seq(from = 102, to = longitud_total, length.out = 9)
Combina todos los elementos en un solo vector
vector_final <- c(sec_enteros, valor_repetido, numero, sec_final)
Imprime el vector final
print(vector_final)
## [1] 6.0 7.0 8.0 9.0 10.0 11.0 12.0 5.3 5.3 5.3 -3.0 102.0
## [13] 95.5 89.0 82.5 76.0 69.5 63.0 56.5 50.0
PUNTO E
Suponiendo que el vector final de la parte (d) está almacenado en
‘vector_final’
longitud <- length(vector_final)
Imprime un mensaje indicando la longitud
if (longitud == 20) {
cat("¡El vector final tiene una longitud de 20!")
} else {
cat("La longitud del vector final es:", longitud)
}
## ¡El vector final tiene una longitud de 20!
EJERCICIO 2.4
PUNTO A
Secuencia de longitud 5 del 3 al 6 (inclusivo)
secuencia <- 3:6
Repetición doble del vector c(2, -5.1, -33)
repeticion <- rep(c(2, -5.1, -33), times = 2)
Cálculo de 7 * 42 + 2
calculo <- 7 * 42 + 2
PUNTO B
Secuencia de longitud 5 del 3 al 6 (inclusivo)
secuencia <- 3:6
Repetición doble del vector c(2, -5.1, -33)
repeticion <- rep(c(2, -5.1, -33), times = 2)
Cálculo de 7 * 42 + 2
calculo <- 7 * 42 + 2
Combina la secuencia, repetición y cálculo en un vector
vector_completo <- c(secuencia, repeticion, calculo)
Imprime el vector con los elementos primero y último
cat("Elementos primero y último:", primero_ultimo)
## Elementos primero y último: 3 296
Combina la secuencia, repetición y cálculo en un vector
vector_completo <- c(secuencia, repeticion, calculo)
Imprime el vector completo
cat("El vector creado es:", vector_completo)
## El vector creado es: 3 4 5 6 2 -5.1 -33 2 -5.1 -33 296
PUNTO C
Secuencia de longitud 5 del 3 al 6 (inclusivo)
secuencia <- 3:6
Repetición doble del vector c(2, -5.1, -33)
repeticion <- rep(c(2, -5.1, -33), times = 2)
Cálculo de 7 * 42 + 2
calculo <- 7 * 42 + 2
Combina la secuencia, repetición y cálculo en un vector
vector_completo <- c(secuencia, repeticion, calculo)
Imprime los elementos intermedios
cat("Elementos intermedios:", elementos_intermedios)
## Elementos intermedios: 4 5 6 2 -5.1 -33 2 -5.1 -33
PUNTO D
Teniendo los objetos ‘primero_ultimo’ y ‘elementos_intermedios’ de
los pasos (b) y (c)
Combina los elementos de ‘primero_ultimo’
vector_reconstruido <- c(primero_ultimo[1], elementos_intermedios, primero_ultimo[2])
Imprime el vector reconstruido
cat("Vector reconstruido:", vector_reconstruido)
## Vector reconstruido: 3 4 5 6 2 -5.1 -33 2 -5.1 -33 296
PUNTO E
Teniendo el vector original ‘vector_completo’
Ordena los elementos del vector
vector_ordenado <- sort(vector_completo)
Sobrescribe el vector original con la versión ordenada
vector_completo <- vector_ordenado
Imprime el vector ordenado
cat("Vector original sobrescrito (ordenado):", vector_completo)
## Vector original sobrescrito (ordenado): -33 -33 -5.1 -5.1 2 2 3 4 5 6 296
PUNTO F
Datos de muestra para vector_e (reemplaza con tus datos reales)
vector_e <- c(3, 4, 5, 6, 2, -5.1, -33, 2, -5.1, -33, 290)
teniendo el vector original ‘vector_e’
Invertir el orden usando el operador colon
vector_invertido <- vector_e[length(vector_e):1]
Invertir el orden usando sort(e, decreasing=TRUE)
vector_invertido_sort <- sort(vector_e, decreasing=TRUE)
Comparar la igualdad de los vectores invertidos
resultado_comparacion <- all.equal(vector_invertido, vector_invertido_sort)
Imprimir los resultados
cat("Vector original:", vector_e)
## Vector original: 3 4 5 6 2 -5.1 -33 2 -5.1 -33 290
cat("Vector invertido con operador colon:", vector_invertido)
## Vector invertido con operador colon: 290 -33 -5.1 2 -33 -5.1 2 6 5 4 3
cat("Vector invertido con sort(e, decreasing=TRUE):", vector_invertido_sort)
## Vector invertido con sort(e, decreasing=TRUE): 290 6 5 4 3 2 2 -5.1 -5.1 -33 -33
cat("¿Los vectores invertidos son iguales?:", resultado_comparacion)
## ¿Los vectores invertidos son iguales?: Mean relative difference: 1.958419958
PUNTO G
Teniendo el vector original ‘vector_completo’ del paso (c)
Identifica los elementos a repetir
tercer_elemento <- vector_completo[3]
sexto_elemento <- vector_completo[6]
ultimo_elemento <- vector_completo[length(vector_completo)]
Crea los elementos repetidos con ‘rep’
repetido_tercero <- rep(tercer_elemento, veces = 3)
repetido_sexto <- rep(sexto_elemento, veces = 4)
Combina los elementos repetidos y el último elemento
vector_modificado <- c(repetido_tercero, repetido_sexto, ultimo_elemento)
Imprime el vector modificado
cat("Vector modificado:", vector_modificado)
## Vector modificado: -5.1 2 296
PUNTO H
Suponiendo que tienes el vector original ‘vector_e’
Crea una copia del vector original
vector_copia <- vector_e
Modifica la copia (evitando cambios en el original)
vector_copia[1] <- 99
vector_copia[5:7] <- 95:93
Imprime el vector original y la copia modificada
cat("Vector original:", vector_e)
## Vector original: 3 4 5 6 2 -5.1 -33 2 -5.1 -33 290
cat("Vector copia modificado:", vector_copia)
## Vector copia modificado: 99 4 5 6 95 94 93 2 -5.1 -33 290
EJERCICIO 2.5
PUNTO A
Crea el vector original
vec_original <- c(2, 0.5, 1, 2, 0.5, 1, 2, 0.5, 1)
Vector de longitud 3 para la comparación (puedes modificarlo según
necesites)
vec_comparacion <- c(1, 2, 3) # Ejemplo, puedes cambiar los valores
Conversión a vector de 1s usando comparación lógica
vec_unos <- vec_original != vec_comparacion # != operador lógico "distinto a"
Imprime el vector resultante
print(vec_unos)
## [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
PUNTO B
Temperaturas Fahrenheit en un vector
temperaturas_F <- c(45, 77, 20, 19, 101, 120, 212)
Constantes para la conversión (Celsius = 5/9 * (Fahrenheit -
32))
conversion_factor <- 5/9
offset <- 32
Conversión vectorizada a Celsius
temperaturas_C <- conversion_factor * (temperaturas_F - offset)
Imprime las temperaturas en Celsius
print(temperaturas_C)
## [1] 7.222222222 25.000000000 -6.666666667 -7.222222222 38.333333333
## [6] 48.888888889 100.000000000
PUNTO C
Vector 1
vec1 <- c(2, 4, 6)
Vector 2 (repetir vector para multiplicación elemento a
elemento)
vec2 <- c(1, 2)
Repetir vec2 dos veces usando rep
vec2_repetido <- rep(vec2, times = 2)
Combina vec1 y vec2_repetido usando * para multiplicación elemento a
elemento
resultado <- vec1 * vec2_repetido
## Warning in vec1 * vec2_repetido: longer object length is not a multiple of
## shorter object length
Imprime el resultado
print(resultado)
## [1] 2 8 6 4
PUNTO D
Suponiendo que el vector resultante de (c) está almacenado en
‘resultado’
Vector de valores para sobrescribir (reciclado)
valores_sobreescritura <- c(-0.1, -100)
Sobrescribe los elementos centrales (posiciones 3 a 6)
resultado[3:6] <- valores_sobreescritura
Imprime el vector resultante modificado
print(resultado)
## [1] 2.0 8.0 -0.1 -100.0 -0.1 -100.0