0% encontró este documento útil (0 votos)
34 vistas9 páginas

Guía Básica de R para Principiantes

Este documento introduce R como lenguaje de programación para estadística. Explica que R permite comentarios, variables, tipos de datos, operadores, estructuras de datos como vectores, matrices, dataframes y listas, y estructuras de control como condicionales, ciclos for y while. Muestra ejemplos de código R para ilustrar cada concepto.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
34 vistas9 páginas

Guía Básica de R para Principiantes

Este documento introduce R como lenguaje de programación para estadística. Explica que R permite comentarios, variables, tipos de datos, operadores, estructuras de datos como vectores, matrices, dataframes y listas, y estructuras de control como condicionales, ciclos for y while. Muestra ejemplos de código R para ilustrar cada concepto.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Introducción a R

Estadística
Docente: Laura Ortiz Gaviria
Escuela Ambiental. Facultad de Ingeniería
Universidad de Antioquia
A continuación, se presentan algunas características básicas para familiarizarse con este lenguaje de pro-
gramación. En los cuadros sombreados en color gris podrá identificar la sintaxis de código que puede ser
implementada en el editor de sintaxis de RStudio para su ejecución y observar los respectivos resultados en
consola.

Comentarios

Los comentarios en R se realizan a través del símbolo (#)

# Esto es un comentario

Variables

Los nombres de las variables pueden componerse de caracteres alfanuméricos. Para asignarle un valor a una
variable se emplean los operadores de asignación denotados como una flecha compuesta por el símbolo “<”
y el guión medio “-”, como también el símbolo de igual “=”.
nombre variable <- valor
nombre variable = valor

Tipos de Datos

• Entero (integer): solo considera la parte numérica entera.


• Numérico (numeric): considera además la parte decimal o fraccionaria.
• Cadena de texto (character): secuencia de caracteres alfanuméricos. Se escriben siempre entre
comillas simples o dobles.
• Lógico (logical): representa una variable lógica que sólo tiene dos valores posibles True/False.
• Perdido (NA): valores faltantes o no disponibles.
• Vacío (NULL): representa ausencia de datos.

num_entero <- 7 # Definiendo variables enteras


num_decimal <- 2.5 # Definiendo variables numéricas
cad_texto <- "Este es un texto en R" # Definiendo variables de texto
logico <- TRUE # Definiendo variables de tipo lógico

1
Si se desea verificar el tipo de un dato se puede usar la función class() la cual recibe como argumento el
nombre de la variable que contiene el dato.

class(cad_texto) # Muestra como resultado el tipo de dato

## [1] "character"

class(num_decimal)

## [1] "numeric"

Operadores

• Aritméticos: se emplean para realizar operaciones aritméticas.

| Operador | Operación |
|----------|------------------|
| + | Suma |
| - | Resta |
| * | Multiplicación |
| / | División |
| ^ | Potencia |
| %% | Módulo - Residuo |

Ejemplos de operadores artiméticos:

8 + 6 # Suma

## [1] 14

10 - 3.4 # Resta

## [1] 6.6

9 * 5 # Multiplicación

## [1] 45

10/3 # División

## [1] 3.333333

4ˆ3 # Potencia

## [1] 64

2
5 %% 3 # División entera - módulo

## [1] 2

• Comparativos: se emplean para hacer comparaciones y se obtiene como resultado TRUE o FALSE.

| Operador | Comparación |
|----------|-------------------|
| < | Menor que |
| <= | Menor o igual que |
| > | Mayor que |
| >= | Menor o igual que |
| == | Igual que |
| != | Diferente que |

Ejemplos de operadores de comparación:

3 < 8 # Menor que

## [1] TRUE

9 <= 12 # Menor o igual que

## [1] TRUE

5 > 2 # Mayor que

## [1] TRUE

7 >= 6 # Mayor o igual que

## [1] TRUE

2 == 1 # Igual que

## [1] FALSE

6 != 3 # Diferente que

## [1] TRUE

• Lógicos: se emplean para realizar operaciones de álgebra Booleana que describen relaciones lógicas,
expresadas como TRUE o FALSE.

| Operador | Comparación |
|----------|---------------------|
| x | y | x Ó y es verdadero |
| x & y | x Y y son verdaderos|

3
5 > 3 | 2 == 4 # Se cumple una de las dos condiciones (o)

## [1] TRUE

5 > 3 & 2 == 4 # Se deben cumplir ambas condiciones (y)

## [1] FALSE

Estructura de datos

• Vectores: colección de uno o más datos del mismo tipo. Se crea con la función c(), que significa
concatenar o combinar y recibe como argumento cada elemento del vector separados por comas.

v_num <- c(1,3,5,7,9) # Vector numérico


v_text <- c("azul", "rojo", "verde", "blanco") # Vector de cadena de texto
v_log <- c(FALSE, TRUE, TRUE, FALSE) # Vector lógico

# Verificar si una variable es un vector con la función is.vector()


is.vector(v_num)

## [1] TRUE

# Consultar la longitud del vector con la función length()


length(v_num)

## [1] 5

• Matrices (arrays): son vectores multidimensionales compuestos por el mismo tipo de datos. Una
forma de crearlos es con la función matrix(), la cual acepta como argumentos nrow y ncol que repre-
sentan el número de filas y columnas, respectivamente.

m <- matrix(1:12, nrow=3, ncol=4) # 1:12 genera un vector numérico del 1 al 12 y lo


# organiza en una matriz de 3 filas y 4 columnas

# Función print() para mostrar en terminal una variable


print(m)

## [,1] [,2] [,3] [,4]


## [1,] 1 4 7 10
## [2,] 2 5 8 11
## [3,] 3 6 9 12

# Tipo de objeto
class(m)

## [1] "matrix"

4
# Consultar las dimensiones de una matriz o array con la función dim()
dim(m) # Número de filas (3) y número de columnas (4)

## [1] 3 4

# Otra forma de crear matrices a partir de vectores


vector_1 <- 1:3
vector_2 <- 2:4

# Función rbind(), cada vector es una fila de la matriz


m1 <- rbind(vector_1, vector_2)
print(m1)

## [,1] [,2] [,3]


## vector_1 1 2 3
## vector_2 2 3 4

# Función cbind(), cada vector es una columna de la matriz


m1 <- cbind(vector_1, vector_2)
print(m1)

## vector_1 vector_2
## [1,] 1 2
## [2,] 2 3
## [3,] 3 4

• Dataframes: estructura de datos bidimensionales que pueden contener datos de diferentes tipos.
Está compuesto por vectores y se crea con la función data.frame() que recibe como argumentos el
número de vectores igual al número de columnas que se deseen.

df <- data.frame(
"entero" = 1:4,
"numero" = c(1.5, 3.2, 7.5, 2.6),
"texto" = as.character(c("a", "b", "c", "d"))
)

df

## entero numero texto


## 1 1 1.5 a
## 2 2 3.2 b
## 3 3 7.5 c
## 4 4 2.6 d

Características de un dataframe:

dim(df) # Dimensiones

## [1] 4 3

5
length(df) # Longitud (número de columnas)

## [1] 3

names(df) # Nombres de las columnas

## [1] "entero" "numero" "texto"

class(df) # Clase de un dataframe

## [1] "data.frame"

• Listas: estructura de datos unidimensionales, al igual que los vectores, con la diferencia de que sus
elementos pueden ser de diferente tipo. Se crean a partir de la función list() que usa como argumentos
los elementos que componen la lista.

vec <- 1:10


mat <- matrix(1:4, nrow = 2)
datfr <- data.frame("num" = 1:3, "let" = c("a", "b", "c"))

lista <- list("mi_vector" = vec, "mi_matriz" = mat, "mi_df" = datfr)


lista

## $mi_vector
## [1] 1 2 3 4 5 6 7 8 9 10
##
## $mi_matriz
## [,1] [,2]
## [1,] 1 3
## [2,] 2 4
##
## $mi_df
## num let
## 1 1 a
## 2 2 b
## 3 3 c

Características de una lista:

length(lista) # Número de elementos de la lista

## [1] 3

class(lista) # Clase de una lista

## [1] "list"

Estructuras de control
Permiten controlar la ejecución de nuestro código. Debe ponerse atención a la sintaxis con el uso de paréntesis
() y llaves {}.

6
Condicional (if, else)

if (si) se ejecuta una operación si se cumple una condición.


else (de otro modo, sino) indicaciones en caso de que la condición de un if no se cumpla. Es opcional.
La estructura del condicional se muestra a continuación:
if (Condición) {
Operaciones si la condición es verdadera
} else {
Operaciones si la condición es falsa
}

# Condicional
if (6 >= 2) { # Si se cumple la condición se muestra en consola el mensaje "Es correcto"
"Es correcto"
} else { # Si no se cumple la condición se muestra el mensaje "Es falso"
"Es falso"
}

## [1] "Es correcto"

Ciclo (for)

La estructura for (para) permite ejecutar un bucle (loop), realizando una operación para cada elemento de
un conjunto de datos. El objeto determina el número de iteraciones que se realizan.
La estructura del ciclo for se muestra a continuación:
for (elemento in objeto) {
Operaciones con el elemento
}
El elemento puede tomar cualquier nombre deseado, se utilizan convencionalmente las letras i, j o k. El
objeto debe ser una variable definida previamente (ya existente) que contenga una secuencia de datos.

objeto <- 1:5 # Se define el objeto como una secuencia de números

# Ciclo for
for(i in objeto) { # En cada iteración el elemento (i) toma el valor del objeto

print(i)
}

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

7
Ciclo (while)

El ciclo while (mientras) ejecuta una operación mientras una condición sea verdadera. Cuando se deja de
cumplir la condición la operación se detiene.
El ciclo while es de la forma:
while (condicion) {
Operaciones mientras se cumpla la condición
}

# Sumar el valor de 1 mientras que este sea menor a 4.


umbral <- 4
valor <- 0 # Inicializamos una variable

while (valor < umbral) { # Se imprime el mensaje desde que se cumpla la condición
print("Actualizo la variable valor")
valor <- valor + 1
}

## [1] "Actualizo la variable valor"


## [1] "Actualizo la variable valor"
## [1] "Actualizo la variable valor"
## [1] "Actualizo la variable valor"

Sentencias de control (break y next)

Estas sentencias cambian la ejecución de un ciclo iterativo.


break permite finalizar un ciclo y next nos deja avanzar a la siguiente iteración del ciclo, omitiendo la actual.
Se emplean para los ciclos for y while.
Sentencia break:

# Ciclo for
# Finalizar el ciclo cuando i es igual a 3.
for (i in 1:10) {
if (i==3) { # Si se cumple la condición se finaliza el ciclo
break
}
print(i)
}

## [1] 1
## [1] 2

Sentencia next:

# Ciclo for
# Omitir la iteración cuando i es igual a 3.

for (i in 1:4) {
if (i==3) { # Si se cumple la condición se salta la iteración

8
next
}
print(i)
}

## [1] 1
## [1] 2
## [1] 4

Paquetes (Librerías)

Son colecciones de funciones adicionales que permiten desarrollar alguna tarea específica. Se instalan a través
de la función install.packages(), dando como argumento el nombre del paquete de interés especificado entre
comillas.

# Instalación del paquete readr


install.packages("readr")

## Installing package into ’/home/lortizg/R/x86_64-pc-linux-gnu-library/3.4’


## (as ’lib’ is unspecified)

En la consola puede visualizarse los avances y confirmación de la instalación de cada paquete. Una vez
instalados, se pueden usar las funciones de la librería con la función library() que usa como argumento el
nombre del paquete instalado.

# Importar las funciones contenidas en el paquete.


library("readr")

Documentación

Para acceder a la documentación sobre las funciones, argumentos, operaciones, resultados y ejemplos de R
podemos escribir el símbolo ? antes del nombre de la función o se puede usar la función help() con el nombre
de la función como argumento. En RStudio esta documentación se muestra en uno de los paneles del IDE,
en la pestaña Help.

?print()

help("print")

Para la documentación sobre algún paquete o librería se usa la función help() con el argumento package y el
nombre del paquete de interés.

help(package = "stats")

Material de apoyo

R para principiantes: https://bookdown.org/jboscomendoza/r-principiantes4/

También podría gustarte