2.1 Imprimir algo en la pantalla

Trabajado Por Juan Buelvas

Para mostrar el valor de una variable o una expresión en la pantalla simplemente se escribe la variable o expresión y R imprimirá su valor en pantalla, ejemplo:

pi
## [1] 3.141593
# [1] 3.14
sqrt(2)
## [1] 1.414214
# [1] 1.41

Alli se escribe pi y R da el valor de pi, se escribe raiz de 2 y R da el valor de raíz de 2 en pantalla en R no hay que usar el comando print para imprimir variables por lo tanto si se usa este código:

print(pi)
## [1] 3.141593
#> [1] 3.14
print(sqrt(2))
## [1] 1.414214
#> [1] 1.41

Es lo mismo que usar el anterior, imprimirá en pantalla lo mismo, el comando print en si tiene su utilidad por ejemplo al organizar ciertas funciones o valores estructurados como matrices o listas y imprimirlos de una manera estetica ejemplo:

print(matrix(c(1, 2, 3, 4), 2, 2))
##      [,1] [,2]
## [1,]    1    3
## [2,]    2    4
#>     [,1] [,2]
#> [1,]    1    3
#> [2,]    2    4

print(list("a", "b", "c"))
## [[1]]
## [1] "a"
## 
## [[2]]
## [1] "b"
## 
## [[3]]
## [1] "c"
#> [[1]]
#> [1] "a"
#> 
#> [[2]]
#> [1] "b"
#> 
#> [[3]]
#> [1] "c"

Esto es muy útil gracias a que si uno quiere ver que tiene una lista o matriz simplemente si imprime y ya. El comando print en si tiene algunos limites como que solo es capaz de imprimir una sola cosa al tiempo si tratas de imprimir dos dará error el programa, ejemplo:

#Este código siempre fallara y será invalido:
#print("The zero occurs at", 2 * pi, "radians.")
#> Error in print.default("The zero occurs at", 2 * pi, "radians."): invalid 'quote' argument

Hay una función que se llama cat y esta arregla ese problema de print, esta también imprime como print y puede imprimir mas de una cosa a la vez, entre sus limitaciones esta que no puede imprimir listas ni matrices, esto dará error. Error:

Ejemplo de imprimir dos cosas a la vez:

cat("The zero occurs at", 2 * pi, "radians.", "\n")
## The zero occurs at 6.283185 radians.
#> The zero occurs at 6.28 radians.

También puede imprimir vectores:

local({
fib <- c(0, 1, 1, 2, 3, 5, 8, 13, 21, 34)
cat("The first few Fibonacci numbers are:", fib, "...\n")
#> The first few Fibonacci numbers are: 0 1 1 2 3 5 8 13 21 34 ...
})
## The first few Fibonacci numbers are: 0 1 1 2 3 5 8 13 21 34 ...

2.2 Configuración de variables

Trabajado Por Juan Buelvas

Guardar valores en las variables en R es bastante sencillo basta con usar el operador respectivo que este caso es la flechita (<-) junto a la variable, no necesitas declarar el tipo de variable, ejemplo:

local({
x <- 3
g <- 6
y <- 4
z <- sqrt(x^2 + y^2)
})

Como ven es fácil crear variable, e inclusive se pueden colocar funciones como variables como hicimos con la raiz cuadrada (función sqrt)

2.3 Listado de variables

Trabajado Por Alfredo Arrieta

Si queremos saber qué variables y funciones están definidas en nuestro espacio de trabajo debemos usar la función ls. Usamos ls.str para obtener mas detalles sobre cada variable La función se llama ls.str porque enumera las variables y str proporciona información adicional sobre las variables, como sus tipos de datos

# Crear algunas variables
nombre <- "Juan"
edad <- 30
salario <- 50000
nacionalidad <- "Colombiano"

Luego de esto usamos las variables ls para saber cuales son estas variables y la funcion ls.str para saber de que tipo son

# Mostrar variables usando ls()
ls()
## [1] "edad"         "nacionalidad" "nombre"       "salario"
# Mostrar variables y sus tipos usando ls.str()
ls.str()
## edad :  num 30
## nacionalidad :  chr "Colombiano"
## nombre :  chr "Juan"
## salario :  num 50000

2.4 Eliminar variables

Trabajado Por Sneyder Arrieta

si se quiere eliminar variables o funciones innecesarias de su espacio de trabajo o borrar su contenido por completo.Se utiliza la función rm.

en el siguiente ejemplo vemos como se usa esta función.

mi_vector <- c(1, 2, 3, 4, 5)  # Crear un vector
rm(mi_vector)  # Eliminar la variable mi_vector

En este ejemplo, primero creamos un vector llamado “mi_vector”. Luego, utilizamos la función rm() seguida del nombre de la variable que deseamos eliminar, en este caso, “mi_vector”. Después de ejecutar esta línea de código, la variable “mi_vector” ya no estará en la memoria de R.

2.5 Creando un Vector

Trabajado Por Ronald Salcedo

Si nos enfrentamos a una situacion en la cual debemos crear un vector, procedemos utilizar el c(…)operador para construir un vector a partir de valores dados.

En el siguiente ejemplo vemos un poco mas a detalle.

# Usando el operador c(...) para crear un vector de nombres
nombres <- c("Juan", "María", "Carlos", "Ana", "Elena")

# Usando el operador c(...) para crear un vector de edades
edades <- c(25, 30, 22, 35, 28)

# Usando el operador c(...) para crear un vector de alturas en metros
alturas <- c(1.75, 1.68, 1.80, 1.60, 1.73)

# Imprimiendo los vectores creados
print("Nombres:")
## [1] "Nombres:"
print(nombres)
## [1] "Juan"   "María"  "Carlos" "Ana"    "Elena"
print("Edades:")
## [1] "Edades:"
print(edades)
## [1] 25 30 22 35 28
print("Alturas:")
## [1] "Alturas:"
print(alturas)
## [1] 1.75 1.68 1.80 1.60 1.73

2.6 Computación de estadísticas básicas

Trabajado Por Clebert Beltran

Un profesor de estadística quiere analizar el rendimiento de sus estudiantes en dos exámenes: Matemáticas y Física. Desea saber:

La nota media de los estudiantes en cada examen. La mediana de las notas. La desviación estándar para entender la dispersión de las notas alrededor de la media. La varianza de las notas. La covarianza y correlación entre las notas de Matemáticas y Física para entender si un buen rendimiento en Matemáticas podría relacionarse con un buen rendimiento en Física. Datos:

Notas de Matemáticas: 90, 80, 85, 70, 75, 65, 88

Notas de Física: 92, 78, 83, 72, 70, 64, 89

# Datos
matematicas <- c(90, 80, 85, 70, 75, 65, 88)
fisica <- c(92, 78, 83, 72, 70, 64, 89)

# 1. Media
media_matematicas <- mean(matematicas)
media_fisica <- mean(fisica)

# 2. Mediana
mediana_matematicas <- median(matematicas)
mediana_fisica <- median(fisica)

# 3. Desviación estándar
desv_std_matematicas <- sd(matematicas)
desv_std_fisica <- sd(fisica)

# 4. Varianza
varianza_matematicas <- var(matematicas)
varianza_fisica <- var(fisica)

# 5. Covarianza y Correlación
covarianza <- cov(matematicas, fisica)
correlacion <- cor(matematicas, fisica)

# Imprimir resultados
cat("Media Matemáticas:", media_matematicas, "\n")
## Media Matemáticas: 79
cat("Media Física:", media_fisica, "\n")
## Media Física: 78.28571
cat("Mediana Matemáticas:", mediana_matematicas, "\n")
## Mediana Matemáticas: 80
cat("Mediana Física:", mediana_fisica, "\n")
## Mediana Física: 78
cat("Desviación estándar Matemáticas:", desv_std_matematicas, "\n")
## Desviación estándar Matemáticas: 9.416298
cat("Desviación estándar Física:", desv_std_fisica, "\n")
## Desviación estándar Física: 10.30719
cat("Varianza Matemáticas:", varianza_matematicas, "\n")
## Varianza Matemáticas: 88.66667
cat("Varianza Física:", varianza_fisica, "\n")
## Varianza Física: 106.2381
cat("Covarianza:", covarianza, "\n")
## Covarianza: 94.16667
cat("Correlación:", correlacion, "\n")
## Correlación: 0.9702348
#Este código te dará los valores solicitados para cada una de las métricas. Al ejecutarlo, podrás entender mejor el rendimiento de los estudiantes y la relación entre sus notas en Matemáticas y Física.

2.7 Creando Secuencias

Trabajado Por Luis Hernandez

Como crear secuencias de números en el lenguaje de programación R.

El operador de dos puntos (n:m) se utiliza para crear una secuencia de números enteros que va desde n hasta m, inclusive. Por ejemplo, 1:5 generará una secuencia de números del 1 al 5. También puedes usarlo para contar hacia atrás, como en el ejemplo 9:0, que generará una secuencia desde 9 hasta 0.

1:5
## [1] 1 2 3 4 5
#> [1] 1 2 3 4 5

La función seq() se utiliza para crear secuencias con incrementos diferentes de 1. Puedes especificar el punto de inicio (from), el punto final (to), y el incremento (by) como argumentos de la función. Por ejemplo, seq(from = 1, to = 5, by = 2) generará una secuencia que comienza en 1 y avanza de 2 en 2 hasta llegar a 5.

seq(from = 1, to = 5, by = 2)
## [1] 1 3 5
#> [1] 1 3 5

La función rep() se utiliza para crear una serie de valores repetidos. Puedes especificar el valor a repetir (1 en el ejemplo) y cuántas veces se debe repetir (times = 5 en el ejemplo). Por lo tanto, rep(1, times = 5) generará una secuencia de cinco 1s.

rep(1, times = 5)
## [1] 1 1 1 1 1
#> [1] 1 1 1 1 1

La tubería (%>%) permite pasar el resultado de una operación como entrada a otra función. Por ejemplo, 10:20 %>% mean() primero genera una secuencia desde 10 hasta 20 y luego calcula la media (promedio) de esos números. En este caso, el resultado sería 15.5, que es el promedio de los números del 10 al 20.

# Instalar el paquete dplyr si aún no está instalado
if (!requireNamespace("dplyr", quietly = TRUE)) {
  install.packages("dplyr")
}

# Cargar la biblioteca dplyr
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
# El resto del código permanece igual
# ...

# Calcular la media de una secuencia usando la tubería (%>%)
media_secuencia <- 1:10 %>% mean()
cat("\nMedia de la secuencia del 1 al 10:\n")
## 
## Media de la secuencia del 1 al 10:
print(media_secuencia)
## [1] 5.5
# Cargar la biblioteca dplyr
library(dplyr)

# Crear una secuencia usando el operador de dos puntos (n:m)
secuencia1 <- 1:10
cat("Secuencia utilizando el operador de dos puntos (1:10):\n")
## Secuencia utilizando el operador de dos puntos (1:10):
print(secuencia1)
##  [1]  1  2  3  4  5  6  7  8  9 10
# Crear una secuencia usando la función seq con incremento
secuencia2 <- seq(from = 1, to = 20, by = 3)
cat("\nSecuencia utilizando la función seq con incremento (1 a 20, incremento de 3):\n")
## 
## Secuencia utilizando la función seq con incremento (1 a 20, incremento de 3):
print(secuencia2)
## [1]  1  4  7 10 13 16 19
# Crear una secuencia de valores repetidos utilizando la función rep
secuencia3 <- rep(5, times = 7)
cat("\nSecuencia de valores repetidos (5 repetido 7 veces):\n")
## 
## Secuencia de valores repetidos (5 repetido 7 veces):
print(secuencia3)
## [1] 5 5 5 5 5 5 5
# Crear una secuencia inversa usando el operador de dos puntos (n:m)
secuencia4 <- 15:5
cat("\nSecuencia inversa utilizando el operador de dos puntos (15:5):\n")
## 
## Secuencia inversa utilizando el operador de dos puntos (15:5):
print(secuencia4)
##  [1] 15 14 13 12 11 10  9  8  7  6  5
# Crear una secuencia con incremento fraccionario utilizando la función seq
secuencia5 <- seq(from = 2.5, to = 5.0, length.out = 6)
cat("\nSecuencia con incremento fraccionario (2.5 a 5.0, longitud 6):\n")
## 
## Secuencia con incremento fraccionario (2.5 a 5.0, longitud 6):
print(secuencia5)
## [1] 2.5 3.0 3.5 4.0 4.5 5.0
# Calcular la media de una secuencia usando la tubería (%>%)
media_secuencia <- 1:10 %>% mean()
cat("\nMedia de la secuencia del 1 al 10:\n")
## 
## Media de la secuencia del 1 al 10:
print(media_secuencia)
## [1] 5.5

2.8 Comparación de vectores

Trabajado Por Daniel Novoa

si buscamos la comparación de vectores podemos utilizar los operadores de comparación ( ==, !=, <, >, <=, >=) pueden realizar una comparación de elemento por elemento de dos vectores

Los operadores de comparación comparan dos valores y devuelven TRUE o FALSE, según el resultado de la comparacion de los vectores

# Crear dos vectores
vector1 <- c(1, 2, 3, 4, 5)
vector2 <- c(3, 2, 1, 4, 5)

# Realizar una comparación elemento por elemento y mostrar el resultado
vector1 == vector2
## [1] FALSE  TRUE FALSE  TRUE  TRUE
# Crear dos vectores
vector1 <- c(1, 2, 3, 3, 5)
vector2 <- c(3, 2, 1, 4, 4)

# Realizar comparaciones elemento por elemento y mostrar los resultados
menor <- vector1 < vector2
mayor <- vector1 > vector2

# Mostrar los resultados
menor
## [1]  TRUE FALSE FALSE  TRUE FALSE
mayor
## [1] FALSE FALSE  TRUE FALSE  TRUE

2.9 Seleccionar elementos vectoriales

Trabajado Por Cesar Benitez

Ahora, si queremos extraer uno o más elementos de un vector. llevamos a cabo los siguientes pasos

use las técnica de indexación adecuada para su problema:

-Utilice corchetes para seleccionar elementos vectoriales por su posición, como v[3]para el tercer elemento de v.

-Utilice índices negativos para excluir elementos.

-Utilice un vector de índices para seleccionar múltiples valores.

-Utilice un vector lógico para seleccionar elementos según una condición.

-Utilice nombres para acceder a elementos con nombre.

Ejemplificando un poco mas a detalle:

# Crear un vector
v <- c(10, 20, 30, 40, 50)

# Seleccionar elementos por posición con corchetes (tercer elemento)
posicion <- v[3]
cat("posicion (tercer elemento):", posicion, "\n")
## posicion (tercer elemento): 30
# Utilizar índices negativos para excluir elementos (excluir el segundo elemento)
excluir_elemento <- v[-2]
cat("Excluir elemento (segundo elemento):", excluir_elemento, "\n")
## Excluir elemento (segundo elemento): 10 30 40 50
# Utilizar un vector de índices para seleccionar múltiples valores (primer y tercer elemento)
indices <- c(1, 3)
elementos_multiples <- v[indices]
cat("Elementos seleccionados (primer y tercer elemento):", elementos_multiples, "\n")
## Elementos seleccionados (primer y tercer elemento): 10 30
# Utilizar un vector lógico para seleccionar elementos según una condición (mayores que 25)
condicion <- v > 25
elementos_condicion <- v[condicion]
cat("Elementos que cumplen la condición (mayores que 25):", elementos_condicion, "\n")
## Elementos que cumplen la condición (mayores que 25): 30 40 50
# Crear un vector con nombres
v_nombres <- c(Alice = 10, Bob = 20, Carol = 30, Dave = 40, Eve = 50)

# Utilizar nombres para acceder a elementos con nombre (acceder al valor de 'Dave')
elemento_por_nombre <- v_nombres["Dave"]
cat("Elemento por nombre ('Dave'):", elemento_por_nombre, "\n")
## Elemento por nombre ('Dave'): 40

En los codigos anteriores lo que hemos hecho es probar las tecnicas, y como vemos los codigos nos facilitan de una manera rapida y efectiva nuestro trabajo.

2.10 Realizar aritmética vectorial

Trabajado Por Luis Vergara

Si queremos operar en un vector completo a la vez. Debemos entender que los operadores aritméticos habituales pueden realizar operaciones elemento a elemento en vectores completos. Muchas funciones también operan en vectores completos y devuelven un resultado vectorial. ahora miremos el siguiente ejemplo:

# Crear dos vectores
vector1 <- c(1, 2, 3, 4, 5)
vector2 <- c(6, 7, 8, 9, 10)

# Suma de vectores
suma <- vector1 + vector2
print("Suma:")
## [1] "Suma:"
print(suma)
## [1]  7  9 11 13 15
# Resta de vectores
resta <- vector1 - vector2
print("Resta:")
## [1] "Resta:"
print(resta)
## [1] -5 -5 -5 -5 -5
# Multiplicación de vectores
multiplicacion <- vector1 * vector2
print("Multiplicación:")
## [1] "Multiplicación:"
print(multiplicacion)
## [1]  6 14 24 36 50
# División de vectores
division <- vector1 / vector2
print("División:")
## [1] "División:"
print(division)
## [1] 0.1666667 0.2857143 0.3750000 0.4444444 0.5000000