Está en la página 1de 40

Programa de actualización 2022

Procesamiento estadístico
de datos con R

M. en C. José Félix Paisano Morales

DDTIC_PL_2022
¿Qué veremos hoy?
1)Presentación
2)Repaso
3)Preguntas evaluación
4)Temas 1, 2 y 3
5)Ejercicios
6)Cierre

DDTIC_PL_2022
Objetivo general

El participante utilizará el lenguaje de programación R para realizar


procedimientos de estadística descriptiva y presentar gráficos con la
información obtenida.

DDTIC_PL_2022
¿Qué es R?

R es un lenguaje de programación creado por estadísticos como un ambiente


interactivo para el análisis de datos. La interactividad es una característica
indispensable en la ciencia porque la capacidad de explorar rápidamente los datos es
necesario para el éxito en este campo.
En R se puede guardar el trabajo como una secuencia de comandos (script), que se
pueden ejecutar fácilmente en cualquier momento. Los scripts sirven como un registro
del análisis realizado lo que facilita el trabajo reproducible. R tiene gran ventaja
cuando se trata del análisis de datos y, específicamente, de la visualización de datos.

Irizarry, R. A. (2021). Introducción a la ciencia de datos . https://rafalab.github.io/dslibro/. Consultado en Mayo del 2022

DDTIC_PL_2022
Top 20 de lenguajes de programación
20%

18%

16%

14%

11.59%
12.74%

10.99%
12%

8.83%
10%

8%
Uso

6.39%

5.86%
6%

4%

2.12%

1.92%

1.87%

1.52%

1.42%

1.23%

1.11%

1.03%

1.03%

0.99%

0.98%

0.86%
2% 1.22%
0.82%

0%
t l ift l
ho
n C va ++ C
# ic ip ag
e L P ca R o ic
e-
C
Pe
r
Lu
a
ub
y
AB
t Ja C as cr SQ PH as Sw
G as L
Py lB aS gu lB ct
iv R
AT
a v la
n tP a e M
su Ja ec su bj
Vi bl
y bj Vi O
em i/O si
c
s ph s
As el C
la
D

Lenguaje

Elaboración propia con datos de TIOBE Index for May 2022 (https://www.tiobe.com/tiobe-index/)

DDTIC_PL_2022
¿Qué es RStudio?

RStudio es un entorno de desarrollo integrado (IDE) para el lenguaje de programación


R, dedicado a la computación estadística y gráficos. Es uno de los entornos más
populares para crear aplicaciones en el lenguaje de programación R.
Este entorno de desarrollo tiene una versión versión gratuita, open source y
multiplataforma de escritorio para disponer de un entorno integrado de desarrollo, y
que facilita tanto la tarea de uso interactivo de R como la programación de scripts en
R.

1) Calvo, D. (2018) Definición de Rstudio. https://www.diegocalvo.es/definicion-de-rstudio/


2) RStudio https://es.wikipedia.org/wiki/RStudio

DDTIC_PL_2022
¿Cómo funciona R?

R es un lenguaje Orientado a Objetos*, R es un lenguaje interpretado, lo cual significa


que los comandos escritos en el teclado son ejecutados directamente sin necesidad
de construir ejecutables.

*Un lenguaje orientado a objetos utiliza una técnica de programación orientada a objetos que une datos y funciones relacionados en un objeto y fomenta la reutilización de
estos objetos dentro del mismo y otros programas.
1) Paradis, E. (2003). R para Principiantes. Institut des Sciences de l'Evolution. Université Montpellier II.
https://cran.r-project.org/doc/contrib/rdebuts_es.pdf

DDTIC_PL_2022
¿Qué se puede hacer con R?

Aunque R está diseñado para análisis estadístico, con el paso del tiempo los
usuarios de este lenguaje han creado extensiones a R, llamadas paquetes, que han
ampliado su funcionalidad. En la actualidad es posible realizar en R minería de
textos, procesamiento de imagen, visualizaciones interactivas de datos y
procesamiento de Big Data, entre muchas otras cosas.

*Un lenguaje orientado a objetos utiliza una técnica de programación orientada a objetos que une datos y funciones relacionados en un objeto y fomenta la reutilización de
estos objetos dentro del mismo y otros programas.
1) Calvo, D. (2018) Definición de Rstudio. https://www.diegocalvo.es/definicion-de-rstudio/
2) RStudio https://es.wikipedia.org/wiki/RStudio

DDTIC_PL_2022
Constantes y variables

Como se usa en lenguaje matemático, una constante es un objeto cuyo valor no


podemos cambiar, en contraste, una variable es un objeto que puede cambiar de
valor.

En la fórmula del área de un círculo, identifique a la(s) variable(s) y la(s) contante(s):

A = ¶ * r2
Mendoza, V. J. B. (2020) R para principiantes. https://bookdown.org/jboscomendoza/r-principiantes4/

DDTIC_PL_2022
Asignación de valores

Asignación de valores A -> 5


que se guardan el 5 <- A
memoria
a -> 5
z <- 2+4
n <- 3 + rnorm(1)*
Asignación de valores 12+25^3
que no se guardan el
memoria

*La función rnorm(1) genera un dato al azar muestrado de una distribuci ́on normal con media 0 y varianza 1.

Paradis, E. (2003) R para principiantes. https://cran.microsoft.com/snapshot/2016-10-29/doc/contrib/rdebuts_es.pdf

DDTIC_PL_2022
Tipo de datos
Tipo de dato Descripción Definición
Numeric Números decimales numero <- 1.0
Integer Números enteros int <- 1
Character Cadenas de texto str <- "un texto"
Complex Números complejos comp <- 3+2i
Logical Verdadero (TRUE) o falso (FALSE). Es a menudo el resultado de a <- 1; b <- 2; a < b
operaciones lógicas.
Factor Este no es estrictamente un tipo de dato, pero vale la pena Aplique as.factor() a
describirlo aquí. Una variable factor es una variable categórica. un vector de
Los vectores de caracteres a menudo se almacenan como caracteres.
factores para explotar funciones para tratar datos categóricos.
Por ejemplo, en análisis de regresión.

Bravo L. P. & Salgado C. F. (2019) Introducción a R y SIG. https://bookdown.org/chescosalgado/intro_r/

DDTIC_PL_2022
Vectores

Un vector representa una secuencia ordenada (arreglo o matriz) de


elementos (datos) del mismo tipo. Es posible construir vectores de tipo
numérico y caracteres. Para nuestros propósitos, los vectores podrán ser
considerados como variables.
v1 <- c(1,2,3)
v2 <- c('a','b','c')
v3 <- c('na','eso','asa')
v4 <- c(v2,v3)
Bravo L. P. & Salgado C. F. (2019) Introducción a R y SIG. https://bookdown.org/chescosalgado/intro_r/

DDTIC_PL_2022
Operadores aritméticos

Operador Descripción
+ Suma
- Resta
* Multiplicación
/ División
^ó ** Exponente
%% Módulo 5%%2 = 1
%/% División entera 5%/%2 = 2
Bravo L. P. & Salgado C. F. (2019) Introducción a R y SIG. https://bookdown.org/chescosalgado/intro_r/

DDTIC_PL_2022
Operadores de comparación

Operador Descripción
< Menor que
<= Menor o igual que
> Mayor que
>= Mayor o igual que
== Exactamente igual que
!= No es igual que

Bravo L. P. & Salgado C. F. (2019) Introducción a R y SIG. https://bookdown.org/chescosalgado/intro_r/

DDTIC_PL_2022
Operadores lógicos

Operador Descripción
| O
& Y
isTRUE(x) Verifica que x es verdad

Bravo L. P. & Salgado C. F. (2019) Introducción a R y SIG. https://bookdown.org/chescosalgado/intro_r/

DDTIC_PL_2022
Tipo de objeto
Objeto Tipos Vario Descripción
s
tipos
vector numérico, caracter, complejo o lógico No Es una variable en el significado
comunmente asumido.
factor numérico o caracter No Un factor es una variable categórica.
arreglo numérico, caracter, complejo o lógico No Un arreglo es una tabla de dimensión k
matriz numérico, caracter, complejo o lógico No Una matriz es un caso particular de un
arreglo donde k = 2.
data.frame numérico, caracter, complejo o lógico Si Es una tabla compuesta de uno o más
vectores y/o factores de la misma
longitud pero que pueden ser de
diferentes tipos.
ts numérico, caracter, complejo o lógico Si Es una serie temporal y como tal
contiene atributos adicionales tales como
frecuencia y fechas.
Bravo L. P. & Salgado C. F. (2019) Introducción a R y SIG. https://bookdown.org/chescosalgado/intro_r/
lista numérico, caracter, complejo, lógico Si Puede contener cualquier tipo de objeto
incluyendo otras listas
DDTIC_PL_2022
Funciones
Una función es un bloque de código que solo se ejecuta
cuando se le llama.
Puede pasar datos, conocidos como parámetros, a una
función.
Una función puede devolver datos como resultado.

W3 School (2022) R tutorial. R Functions. https://www.w3schools.com/r/r_functions.asp

DDTIC_PL_2022
Funciones
#Sintaxis
NombreFuncion <- function(arg1, arg2, ... ) {
# Código
}

W3 School (2022) R tutorial. R Functions. https://www.w3schools.com/r/r_functions.asp

DDTIC_PL_2022
Funciones ejemplo
#Función que resuelve ecuaciones cuadráticas

EcuacionCuadratica <- function(a, b,c) {


x1 <- round((-b + sqrt((b^2) - (4 * a * c)))/(2 * a))
x2 <- round((-b - sqrt((b^2) - (4 * a * c)))/(2 * a))
print(c(x1, x2))
}

W3 School (2022) R tutorial. R Functions. https://www.w3schools.com/r/r_functions.asp

DDTIC_PL_2022
Estructuras de control: ejemplo
#Crear una función que determine el área de un círculo, debe
evaluar si el radio es menor de cero e imprimir el mensaje
"No se puede calcular el área"

Bravo L. P. & Salgado C. F. (2019) Introducción a R y SIG. https://bookdown.org/chescosalgado/intro_r/

DDTIC_PL_2022
Estructuras de control: condicionales

if (Condición) { # La condición debe devolver TRUE o FALSE


# Ejecuta un código
} else {
# Ejecuta otro código
}

Bravo L. P. & Salgado C. F. (2019) Introducción a R y SIG. https://bookdown.org/chescosalgado/intro_r/

DDTIC_PL_2022
Estructuras de control: if anidado
if (Condición) { # La condición debe devolver TRUE o FALSE
# Código
} else {
# Código
if(Condición 2) { # La condición debe devolver TRUE o
FALSE
# Código
} else {
# Más código
}
Bravo L. P. & Salgado C. F. (2019) Introducción a R y SIG. https://bookdown.org/chescosalgado/intro_r/
}

DDTIC_PL_2022
Ejemplo función ifelse
En el juego entre Fuerza Regia y Halcones de la Liga Nacional de
Basquetbol Profesional femenil jugado el 22 may 2022, 16:00 – en el
deportivo Nuevo León Unido se obtuvieron los siguientes resultados por
jugadora: Numero

1
Nombre

ALEXIS JONES *
MIN

35:00
PTS

7
Tiros Convertidos

3
Tiros Intentados

13

3 DESTINY PITTS * 38:00 20 8 21

4 DANIELA PARDO * 18:56 2 1 4

11 MACARENA ROSSET * 26:48 6 2 2

35 KHAALIA HILLSMAN * 32:10 22 7 11

2 ALONDRA QUINTERO 0 0 0 0

5 ANGELICA MOLINA 0 0 0 0

6 GEMA ROA 0 0 0 0

9 MARIA FAZ 17:47 5 2 2

12 VALERIE BARRIGA 02:43 0 0 2

13 PRISCILLA ADAME 00:49 0 0 1

23 AMBER RAMIREZ 27:47 12 4 7

DDTIC_PL_2022
Ejemplo función ifelse
Importe los datos de Fuerza Regia y agregue una columna al DataFrame
con el nombre “Rating” en el que se clasifique a cada jugadora como
“Buena” si ha anotado 16 puntos o más, como “Media” si anotó entre 15 y
10 puntos, y mala con anotaciones de 9 o menos puntos.
Adicionalmente genere la columna Porcentaje_ TI
(Tiros.Convertidos/Tiros.Intentados) con formato 20.51.
.

DDTIC_PL_2022
Función ifelse
ifelse (Condición (prueba lógica), 'Resultado si es verdad',
'Resultado si es falso')

Bravo L. P. & Salgado C. F. (2019) Introducción a R y SIG. https://bookdown.org/chescosalgado/intro_r/

DDTIC_PL_2022
Ejemplo función ifelse
Importe los datos de Fuerza Regia y agrege una columna al DataFrame
con el nombre “Rating” en el que se clasifique a cada jugadora como
“Buena” si ha anotado 16 puntos o más, como “Media” si anotó entre 15 y
10 puntos, y mala con anotaciones de 9 o menos puntos.

FuerzaRegia$Raiting <- ifelse (FuerzaRegia$PTS >= 16, 'Buena',


ifelse ((FuerzaRegia$PTS >= 10 & FuerzaRegia$PTS <= 15),
'Media', 'Mala'))

FuerzaRegia$Porcentaje_TI <-
round((FuerzaRegia$Tiros.Convertidos/FuerzaRegia$Tiros.Intentados)*100,2)

DDTIC_PL_2022
Estructuras de control: ejemplo
#Importar Base “CalcularIMCSex.csv”
#Calcular el IMC de acuerdo con la fórmula:
#IMC = Peso (kg) / altura (m)²
#Crear el Vector ‘Clasificacion’ usando la función elseif() y clasificar a las
personas de acuerdo si IMC y a la Clasificación del IMSS
#Bajo de Peso <= 18.4
#Normal 18.5 a 24.9
#Sobrepeso 25 a 29.9
#Obesidad >30
Bravo L. P. & Salgado C. F. (2019) Introducción a R y SIG. https://bookdown.org/chescosalgado/intro_r/

DDTIC_PL_2022
DataFrame
Los data frames son estructuras de datos de dos dimensiones (rectangulares) que
pueden contener datos de diferentes tipos, por lo tanto, son heterogéneas. Esta
estructura de datos es la más usada para realizar análisis de datos y seguro te
resultará familiar si has trabajado con otros paquetes estadísticos.

Los data frames son una versión más flexible de una matriz. Mientras que en una
matriz todas las celdas deben contener datos del mismo tipo, los renglones de un
data frame admiten datos de distintos tipos, pero sus columnas conservan la
restricción de contener datos de un sólo tipo.

DDTIC_PL_2022
DataFrame

DDTIC_PL_2022
DataFrame
mi_ejemplo <- data.frame(
"Id" = 1:8,
"Entrenado" = c("Sí","No","No","Sí","No","No","Sí","Sí"),
"t_reaccion" = c(170,250,265,150,190,185,135,130),
"edad" = c(25,27,28,27,26,25,23,24)
)

DDTIC_PL_2022
DataFrame
# Podemos usar dim() en un data frame
dim(mi_ejemplo)

# El largo de un data frame es igual a su número de columnas


length(mi_ejemplo)

# names() nos permite ver los nombres de las columnas


names(mi_ejemplo)

DDTIC_PL_2022
Matriz a DataFrame
#Creamos una matriz
matriz <- matrix(1:12, ncol = 4)

#La convertimos a un data frame


df <- as.data.frame(matriz)

DDTIC_PL_2022
Operaciones con un data frame
Si hacemos una operación aritmética a un data frame, este
se vectorizará.

mi_ejemplo * 2

Para cambiar el nombre de las columnas del data frame:

colnames(df) <- c("D1", "D2","D3","D4")

DDTIC_PL_2022
Operaciones con un data frame
#Una sola columna
summary(mi_ejemplo$t_reaccion)

#Dos columnas
summary(mi_ejemplo[c('t_reaccion','edad')])

#resumen del data frame


summary(mi_ejemplo)

DDTIC_PL_2022
Usando datos de un BoxPlot
#Hago un BoxPlot
boxplot(mi_ejemplo$t_reaccion)

#Genero la variable Resumen


Resumen <- boxplot(mi_ejemplo$t_reaccion)$stats #En stats están los valores

#Genero el nombre de los datos


rownames(Resumen) <- c("Min","1er cuartil","Mediana","3er cuartil","Max")

#Llamo a Resumen
Resumen

DDTIC_PL_2022
BoxPlot
El gráfico de caja (“box-plot” en inglés) es una forma
de presentación estadística destinada,
fundamentalmente, a resaltar aspectos de la
distribución de las observaciones en una o más series
de datos cuantitativos. Reemplaza, en consecuencia,
al histograma y a la curva de distribución de
frecuencias sobre los que tiene ventajas en cuanto a
la información que brinda y a la apreciación global que
surge de la lectura.
Fue ideado por John Tukey, de la Universidad de
Princeton (U.S.A.) en 1977 y los detalles que siguen
corresponden a la descripción dada por este autor.

DDTIC_PL_2022
BoxPlot
El gráfico de caja (“box-plot” en inglés) es una forma
de presentación estadística destinada,
fundamentalmente, a resaltar aspectos de la
distribución de las observaciones en una o más series
de datos cuantitativos. Reemplaza, en consecuencia,
al histograma y a la curva de distribución de
frecuencias sobre los que tiene ventajas en cuanto a
la información que brinda y a la apreciación global que
surge de la lectura.
Fue ideado por John Tukey, de la Universidad de
Princeton (U.S.A.) en 1977 y los detalles que siguen
corresponden a la descripción dada por este autor.

DDTIC_PL_2022
Estadística descriptiva
Estadística Descriptiva: es la encargada de la organización, condensación,
presentación de los datos en tablas y gráficos y del cálculo de medidas
numéricas que permitan estudiar los aspectos más importantes de los datos.

DDTIC_PL_2022
Estadística descriptiva

1)Unidades de análisis: entes individuales en los que se analizan sus cualidades.

2)Variable: característica de las unidades de análisis, puede asumir diferentes


valores en cada una de ellas.

3)Dato: atributo asociado a la variable, se constituye en una cifra o cualidad relativa


a la variable.

Grisales (2019) Estadística descriptiva y probabilidad. Ecoe Ediciones. e-ISBN: 978-958-771-826-3. pp. 23.

DDTIC_PL_2022
Contacto

M. en C. José Félix Paisano Morales


josflix2@gmail.com

DDTIC_PL_2022

También podría gustarte