Lo que debemos saber
Tipos de datos
En R, es fundamental comprender los diferentes tipos de datos disponibles. A continuación, exploraremos los tres tipos básicos de datos en R y cómo se utilizan en la programación.
1. Tipos de datos numéricos
Los datos numéricos en R se dividen en dos tipos principales:
Números reales, se conoce como
double
. Estos son los números más comunes y se utilizan para representar valores decimales. Por ejemplo, 3.14 y 2.71828 son números reales en R. La precisión de los números reales en R depende de la máquina en la que se ejecuta el programa.Números enteros, se conoce como
integer
. Estos son números que no contienen decimales y se utilizan para representar valores enteros. Por ejemplo, 1, 2, -5 son ejemplos de números enteros en R. Los números enteros se utilizan cuando no se requiere precisión decimal.
2. Tipo de datos lógico
El tipo de dato lógico en R se conoce como booleano
. Este tipo de dato puede tener uno de dos valores: TRUE o FALSE. Los valores booleanos se utilizan principalmente para realizar operaciones de comparación y evaluación lógica en los programas. Por ejemplo, se puede usar una expresión lógica para verificar si una condición es verdadera o falsa.
3. Tipo de datos carácter
El tipo de dato carácter en R se utiliza para almacenar letras text
y símbolos strings
. Los datos de tipo carácter se definen utilizando comillas simples (’‘) o comillas dobles (““). Por ejemplo,”Hola” y ’RStudio’ son ejemplos de datos de tipo carácter en R. Los datos de tipo carácter se utilizan con frecuencia para almacenar texto legible por humanos, como nombres, descripciones o mensajes.
Es importante comprender estos tipos de datos en R, ya que nos permiten manipular y realizar operaciones en los datos de manera adecuada. Cada tipo de dato tiene sus propias características y funciones asociadas que nos permiten realizar tareas específicas en la programación.
Estructura de datos
Las estructuras de datos nos permiten organizar y manipular la información de manera eficiente. A continuación, exploraremos las principales estructuras de datos disponibles en R y cómo se utilizan en la programación.
1. Escalar
Un escalar es un dato individual, como un número o una palabra, que no está agrupado con otros elementos. En R, los escalares pueden ser de diferentes tipos de datos, como numéricos, lógicos o caracteres. Estos datos se utilizan cuando solo necesitamos almacenar una única observación.
2. Vector
Un vector es una colección ordenada de elementos del mismo tipo de dato. Puede contener números, valores lógicos o caracteres. En R, los vectores son utilizados para almacenar conjuntos de datos relacionados. Por ejemplo, podemos tener un vector de edades o un vector de nombres. Los vectores son una de las estructuras de datos más utilizadas en R y nos permiten realizar operaciones y cálculos de manera eficiente.
Vectores
Concatenación de elementos con c()
: Se utiliza la función c()
para concatenar elementos y crear vectores en R.
Acciones con vectores
-
Asignar los vectores a nombres:
Creamos un vector llamado “dbl” que contiene los números decimales 0.5, 0.6 y 0.25.
Creamos un vector llamado “chr” que contiene los caracteres “a”, “b” y “c”.
-
Imprimir los vectores “dbl” y “chr” en la consola:
Visualizamos en la consola el contenido del vector “dbl”, que son los números decimales 0.5, 0.6 y 0.25.
Visualizamos en la consola el contenido del vector “chr”, que son los caracteres “a”, “b” y “c”.
-
Verificar el número de elementos en “dbl” y “chr”:
Calculamos y mostramos en la consola la longitud del vector “dbl”, que es 3.
Calculamos y mostramos en la consola la longitud del vector “chr”, que es 3.
-
Verificar el tipo de dato de “dbl” y “chr”:
Visualizamos en la consola el tipo de dato del vector “dbl”, que es “double” (números decimales).
Visualizamos en la consola el tipo de dato del vector “chr”, que es “character” (caracteres).
-
Combinar dos vectores:
Se puede combinar el vector “dbl” consigo mismo utilizando la función “c()”, creando un nuevo vector que contiene los elementos duplicados del vector original.
Tambien se puede combina el vector “dbl” con el vector “chr” utilizando la función “c()”, creando un nuevo vector que contiene los elementos de ambos vectores concatenados.
El cambio automático del tipo de datos del vector resultante se denomina coerción. La coerción garantiza que se mantiene el mismo tipo de datos para cada elemento del vector.
Operaciones aritméticas con vectores
-
Definamos dos nuevos vectores numéricos llamados
a
yb
con 4 elementos cada uno: -
Realizamos una multiplicación escalar de
a
por 5, lo que significa que cada elemento ena
se multiplica por 5: -
Realizamos una multiplicación de vectores entre
a
yb
, lo que implica multiplicar cada elemento ena
por el elemento correspondiente enb
: -
Creamos un nuevo vector numérico llamado
v
con longitud 5.
Las operaciones aritméticas de los vectores se realizan por elementos. si dos vectores no tienen la misma longitud, el vector más corto se reciclará para que coincida con el más largo (en este caso, se vuelve a utilizar el primer elemento de a).
3. Matriz
Una matriz es una estructura bidimensional que contiene elementos organizados en filas y columnas. Todos los elementos de una matriz deben ser del mismo tipo de dato. Las matrices son útiles para almacenar datos tabulares, como una tabla de datos con variables en filas y observaciones en columnas. En R, podemos realizar operaciones matriciales y manipular los datos de manera eficiente utilizando esta estructura.
Matrices
-
Combinamos los vectores
a
yb
, definidas anteriormente, por columnas utilizando la funcióncbind()
:Esta opción combina los vectores
a
yb
por columnas, creando una matrizA
donde los elementos dea
forman la primera columna y los elementos deb
forman la segunda columna. -
Combinamos los vectores
a
yb
por filas utilizando la funciónrbind()
:En esta opción, los vectores
a
yb
se combinan por filas para crear una matrizB
. Los elementos dea
forman la primera fila y los elementos deb
forman la segunda fila. -
Creamos una matriz a partir de los elementos de vector
a
utilizando la funciónmatrix()
:Aquí se utiliza la función
matrix()
para crear una matrizA
a partir de los elementos del vectora
. Se especifica que la matriz tendrá 2 columnas y 2 filas. Los argumentos nrow y ncol indican el número de filas y el número de columnas de que consta la matriz resultante. -
Para 4 elementos y ncol =2 la matriz sólo puede tener 2 filas. Por lo tanto no es necesario especificar ambos argumentos
En esta variante, se crea una matriz
A
con 2 columnas y se ajusta automáticamente el número de filas según la longitud del vectora
. -
Por defecto la matriz se rellena columna a columna (R trata internamente un objeto matriz como vector columna). si la matriz debe rellenarse fila a fila se requiere el argumento
byrow = TRUE
En esta opción, se crea una matriz
B
con 2 columnas y se especifica que los elementos del vectora
se distribuirán por filasbyrow = TRUE
, es decir, los primeros elementos dea
formarán la primera fila, los siguientes elementos formarán la segunda fila, y así sucesivamente.
Acciones con matrices
-
Verificamos el número de filas de la matriz
A
utilizando la funciónnrow()
:Esta línea de código devuelve el número de filas de la matriz
A
. -
Verificamos el número de columnas de la matriz
A
utilizando la funciónncol()
:Aquí se obtiene el número de columnas de la matriz
A
. -
Verificamos la dimensión (número de filas y columnas) de la matriz
A
utilizando la funcióndim()
:Esta línea de código devuelve la dimensión de la matriz
A
en formato[nrow, ncol]
. -
Combinamos dos matrices
A
por columnas utilizando la funcióncbind()
y almacenamos el resultado enD.wide
:En esta línea se crea una nueva matriz
D.wide
que combina las matricesA
yA
por columnas. -
Combinamos dos matrices
A
por filas utilizando la funciónrbind()
y almacenamos el resultado enD.long
:Aquí se crea una nueva matriz
D.long
que combina las matricesA
yA
por filas. -
Combinamos las matrices
D.wide
yD.long
por columnas utilizando la funcióncbind()
y almacenamos el resultado enD
:En esta línea se crea una nueva matriz
D
que combina las matricesD.wide
yD.long
por columnas.
Operaciones aritméticas con matrices
-
Suma de la matriz
B
consigo misma utilizando el operador+
:Esta línea de código realiza la suma de la matriz
B
con ella misma. -
Multiplicación escalar de la matriz
B
por 2 utilizando el operador*
:Aquí se realiza la multiplicación de cada elemento de la matriz
B
por 2. -
Multiplicación elemento a elemento de la matriz
B
consigo misma y almacenar el resultado ena
:En esta línea se realiza la multiplicación elemento a elemento de la matriz
B
con ella misma, y el resultado se almacena en la matriza
. -
Multiplicación de matrices utilizando el operador
%*%
:Aquí se realiza la multiplicación de matrices entre la matriz
B
y ella misma, y el resultado se almacena en la matrizC
.
Otras operaciones con matrices:
-
Transposición de la matriz
D.wide
utilizando la funciónt()
:Esta línea de código transpone la matriz
D.wide
, es decir, intercambia las filas por columnas y viceversa. -
Cálculo del determinante de la matriz
B
utilizando la funcióndet()
:Aquí se calcula el determinante de la matriz
B
. -
Cálculo de la inversa de la matriz
B
utilizando la funciónsolve()
(solo si el determinante es diferente de 0):En esta línea se calcula la inversa de la matriz
B
, siempre y cuando el determinante sea diferente de 0. -
Cálculo de los valores propios (eigenvalues) de una matriz cuadrada y simétrica utilizando la función
eigen()
:Aquí se calculan los valores propios de la matriz
B
. Esta operación solo es aplicable a matrices cuadradas y simétricas.
4. Data frame
Un data frame es una estructura similar a una matriz, pero más flexible. Puede contener columnas con diferentes tipos de datos, lo que lo hace ideal para almacenar conjuntos de datos heterogéneos. Los data frames son muy utilizados en el análisis de datos, ya que nos permiten manipular y explorar datos de manera eficiente. Podemos realizar operaciones de filtrado, selección y transformación en los data frames para obtener información significativa.
Creación del data frame:
-
Creamos vectores con diferentes tipos de datos, como números decimales (
dbl
), números enteros (int
), valores lógicos (lgl
) y caracteres (chr
):Cada vector tiene elementos que representan valores de su respectivo tipo de dato.
-
Utilizamos la función
data.frame()
para combinar los vectores en un data frame llamadodf
:El data frame
df
se crea utilizando los vectoresdbl
,int
,lgl
ychr
como columnas. -
Mostamos el contenido del data frame en la consola:
Esto imprime el contenido del data frame
df
.
Acciones con data frames:
-
Verificamos el número de filas del data frame utilizando la función
nrow()
:Esta línea de código devuelve el número de filas en el data frame
df
. -
Verificamos el número de columnas del data frame utilizando la función
ncol()
:Aquí se obtiene el número de columnas en el data frame
df
. -
Verificamos la dimensión (número de filas y columnas) del data frame utilizando la función
dim()
:Esta línea de código devuelve la dimensión del data frame
df
en formato[nrow, ncol]
, es decir, el número de filas y columnas que tiene el data frame.
5. Lista
Una lista es una estructura de datos genérica que puede contener diferentes objetos, como vectores, matrices, data frames o incluso otras listas. A diferencia de las otras estructuras, las listas no tienen restricciones en cuanto a los tipos de datos o la longitud de los componentes individuales. Las listas son muy flexibles y se utilizan cuando necesitamos almacenar objetos de diferentes tipos o estructuras complejas.
Creación de la lista
-
Creamos una variable
a
que contiene un escalar de tipo entero (1L
): -
Creamos un vector numérico
dbl
con 5 elementos: -
Creamos un vector de caracteres
chr
con 3 elementos: -
Creamos un vector
v
con 4 elementos de tipo numérico: -
Creamos una matriz
mat
de tamaño 2x2 a partir del vectorv
:La matriz
mat
tiene 2 columnas y los elementos del vectorv
se llenan por columnas. -
Creamos una lista
l
que contiene los elementosa
,dbl
,chr
ymat
:La lista
l
contiene estos elementos en ese orden. -
Finalmente, visualizamos el contenido de la lista en la consola:
Esto imprime el contenido de la lista
l
.
Es importante comprender estas estructuras de datos en R, ya que nos permiten organizar y manipular la información de manera efectiva. Cada estructura tiene sus propias características y funciones asociadas que nos facilitan el trabajo con los datos en la programación.
Publicaciones Similares
Si te interesó este artículo, te recomendamos que explores otros blogs y recursos relacionados que pueden ampliar tus conocimientos. Aquí te dejo algunas sugerencias:
- 011 Instalacion De R
- 012 Que Ofrece R
- 013 Lo Que Debemos Saber De R
- 2021 03 027 01 Introduccion Al Programa
- 02 Manipulacion De Datos
- 03 Visualizacion De Datos
- 04 Modelo De Machine Learning I Analisis Exploratorio
- 05 Modelo De Machine Learning Ii Modelo De Clasificacion
- 06 Modelo De Machine Learning Iii Modelo De Regresion
- 07 Modelo De Machine Learning Iv Tex Mining
Esperamos que encuentres estas publicaciones igualmente interesantes y útiles. ¡Disfruta de la lectura!