Análisis de datos con R
Instalación de software
- Software R
- Si estás utilizando Windows, ve al sitio web y haz clic en
Descargar R para Windows
, luego seleccionaInstalar R por primera vez
y finalmente, descargaDescargar R 4.0.4 para Windows
. Una vez descargado, procede a instalar el software. - El software R se ejecuta solo en segundo plano y no tiene una interfaz gráfica.
- Si estás utilizando Windows, ve al sitio web y haz clic en
- RStudio
- Haz clic directamente en el botón azul "Descargar" o elige otras versiones del sistema en la parte inferior de la página. Luego, descarga el software y procede a instalarlo.
Recursos de aprendizaje
Recursos en línea (recomendados)
Libros
Tipos de datos básicos
R tiene varios tipos de datos principales:
- Numéricos (numerics)
- Enteros (integer)
- Complejos (complex)
- Lógicos (logical)
- Caracteres (characters)
Numéricos (numerics)
Los datos numéricos son el tipo de dato más básico en R. Cuando asignas un valor numérico a una variable, esa variable se convierte en un dato numérico:
> x = 11.15 # Asignamos el valor 11.15 a la variable x
> x # Mostramos el valor de x
[1] 11.15
> class(x) # Mostramos el tipo de x
[1] "numeric"
Tanto los enteros como los decimales pueden ser variables numéricas. Sin embargo, si creas una variable de esta manera, incluso los enteros se considerarán decimales.
Enteros (integer)
Para crear variables de tipo entero, debes utilizar la función as.integer
:
> y = as.integer(3)
> y # Mostramos el valor de y
[1] 3
> class(y) # Mostramos el tipo de y
[1] "integer"
> is.integer(y) # ¿Es y un entero?
[1] TRUE
También puedes añadir la sufijo L
para lograr lo mismo:
Si necesitas redondear un decimal para obtener un entero, puedes utilizar la función as.integer
:
También puedes analizar y redondear variables de tipo carácter:
Sin embargo, si intentas analizar una cadena que no es numérica, obtendrás un error:
> as.integer("Joe") # Analizamos una cadena no numérica
[1] NA
Warning message:
NAs introduced by coercion
Al igual que en C, en R, los enteros 1
y 0
se asocian a los valores lógicos TRUE
y FALSE
:
> as.integer(TRUE) # Valor numérico de TRUE
[1] 1
> as.integer(FALSE) # Valor numérico de FALSE
[1] 0
Complejos (complex)
En R, las variables complejas se definen utilizando i
:
> z = 1 + 2i # Create a complex variable z
> z # Output the value of z
[1] 1+2i
> class(z) # Output the type of z
[1] "complex"
Si intentamos calcular la raíz cuadrada de -1
, obtendremos un error:
Pero si calculamos la raíz cuadrada del número complejo -1+0i
, no tendremos problemas:
También podemos realizar la operación utilizando conversión de tipo forzada:
Tipo lógico (logical)
Los valores lógicos generalmente se generan a través de comparaciones entre variables:
> x = 1; y = 2 # Variables de ejemplo
> z = x > y # ¿x es mayor que y?
> z # Mostrar el valor lógico
[1] FALSE
> class(z) # Mostrar el tipo de z
[1] "logical"
Las operaciones lógicas básicas incluyen &
(y), |
(o), !
(no):
> u = TRUE; v = FALSE
> u & v # Operación "y" entre u y v
[1] FALSE
> u | v # Operación "o" entre u y v
[1] TRUE
> !u # Operación "no" en u
[1] FALSE
Tipo carácter (character)
Los valores de tipo carácter se pueden obtener utilizando la función as.character
:
> x = as.character(3.14)
> x # Mostrar la cadena de caracteres
[1] "3.14"
> class(x) # Mostrar el tipo de x
[1] "character"
Para combinar dos variables de tipo carácter, se puede utilizar la función paste
:
Al igual que en la sintaxis de C, se puede usar sprintf
para formatear la salida y mejorar la legibilidad:
Si deseas extraer una subcadena de una cadena de caracteres, puedes utilizar la función substr
(en el ejemplo, se extraen los caracteres entre la posición 3 y la posición 12):
Si deseas reemplazar la primera instancia de un carácter por otro, puedes utilizar la función sub
(en el ejemplo, se reemplaza "little" por "big"):
Vectores
Vectores en el lenguaje R
Un vector es un arreglo que contiene elementos del mismo tipo, y los miembros de un vector se llaman "componentes".
Aquí tienes un ejemplo de un vector (que contiene tres variables numéricas: 2
, 3
y 5
):
También se pueden crear vectores con valores lógicos:
Y también se pueden crear vectores de caracteres:
Si deseas saber cuántos elementos contiene un vector, puedes utilizar la función length
:
Concatenación de vectores
Si deseas combinar dos vectores, puedes utilizar la función c
:
> n = c(2, 3, 5)
> s = c("aa", "bb", "cc", "dd", "ee")
> c(n, s)
[1] "2" "3" "5" "aa" "bb" "cc" "dd" "ee"
Ten en cuenta que en el ejemplo anterior, si combinas dos vectores con tipos de datos diferentes, el tipo resultante será el tipo más laxo (es decir, se realizará una conversión de tipo forzada desde un tipo más estricto a un tipo más relajado, como convertir valores numéricos a valores de caracteres).
Operaciones básicas en vectores
Supongamos que tenemos dos vectores a
y b
:
Aquí se muestran las operaciones básicas en vectores:
> a + b
[1] 2 5 9 15
> a - b
[1] 0 1 1 -1
> 5 * a
[1] 5 15 25 35
> a * b
[1] 1 6 20 56
> a / b
[1] 1.000 1.500 1.250 0.875
Si los vectores que se suman tienen una cantidad diferente de miembros, el resultado tendrá una longitud igual a la del vector más largo:
Acceso a elementos en un vector
Para extraer elementos de un vector, puedes usar la notación de índices dentro de [ ]
, es decir, [número de miembro]
:
> s = c("aa", "bb", "cc", "dd", "ee")
> s[3] # Extrae el valor del tercer miembro y lo muestra
[1] "cc"
Si prefieres excluir un miembro específico, puedes usar un índice precedido por un signo negativo, por ejemplo, [-3]
, lo que significa que se excluirá el tercer miembro y se mostrarán los demás:
Si el índice está fuera del rango del vector, se generará un error:
【Actualización en curso】 ```
Este post está traducido usando ChatGPT, por favor feedback si hay alguna omisión.