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

Si el logaritmo natural no es NaN (por error), calcular la transformada exponencial

if (!is.nan(logaritmo_natural)) {
  transformada_exponencial <- exp(logaritmo_natural)
  cat("La transformada exponencial es:", transformada_exponencial)
}
## La transformada exponencial es: 0.3

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)

Extrae el primer y último elemento del vector

primero_ultimo <- c(vector_completo[1], vector_completo[length(vector_completo)])

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)

Extrae los elementos del vector omitiendo el primero y el último

elementos_intermedios <- vector_completo[2:(length(vector_completo) - 1)]

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