TITLE: Mi Documento R Markdown
output:
html_document:
toc: true
title:"DISTRIBUCION DE FRECUENCIAS"
subtitle: "Conceptos, Tablas y Gráficas"
date: today
author:
name: GISELLE TATIANA OROZCO PINEDA
affiliation: Universidad del Tolima
affiliation-url: https://www.ut.edu.co/
title-block-banner: "#FF339F "
lang: es
# botón TAB
format:
html:
toc: true #arma menu
number-sections: true # numera secciones del menu
code-fold: true #oculta el codigo
code-summary: "Ver código" #leyenda para mostrar codigo
html-math-method: katex
smooth-scroll: true #protip, enlentece el scroll
#link-external-icon: true # muestra iconos en los links
link-external-newwindow: true #abre links en una pestaña nueva
citations-hover: true # muestra citas
footnotes-hover: true # muestra notas al pie
theme: journal
editor: visual
knitr:
opts_chunk:
message: false
warning: false
fig.align: "center"
# csl: abnt.csl # https://github.com/citation-style-language/styles bibliography: references.bib — —
Install.packages(“tidyverse”)
install.packages(“kableExtra”)
install.packages(“agricolae”)
install.packages(“RColorBrewer”)
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.3.1
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.2 ✔ readr 2.1.4
## ✔ forcats 1.0.0 ✔ stringr 1.5.0
## ✔ ggplot2 3.4.2 ✔ tibble 3.2.1
## ✔ lubridate 1.9.2 ✔ tidyr 1.3.0
## ✔ purrr 1.0.1
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(kableExtra)
## Warning: package 'kableExtra' was built under R version 4.3.1
##
## Attaching package: 'kableExtra'
##
## The following object is masked from 'package:dplyr':
##
## group_rows
library(agricolae)
## Warning: package 'agricolae' was built under R version 4.3.1
library(RColorBrewer)
[@tidyverse; @kableExtra; @agricolae; @RColorBrewer]
La distribución de frecuencias es uno de los conceptos fundamentales en estadística y desempeña un papel crucial en la organización, resumen y análisis de datos. Esta herramienta estadística es esencial para comprender cómo se distribuyen los valores o categorías dentro de un conjunto de observaciones, lo que a su vez nos permite extraer información valiosa y patrones significativos de los datos.
En esta introducción, exploraremos en detalle qué es una distribución de frecuencias, cómo se construye y cuál es su utilidad en el campo de la estadística. Desde su concepto básico hasta su aplicación práctica en la toma de decisiones informadas, la distribución de frecuencias es una herramienta esencial que permite a los estadísticos y analistas explorar y comunicar de manera efectiva las características subyacentes de los datos, ya sean valores numéricos o categorías.
Una distribución de frecuencias es una representación tabular, gráfica o matemática de la distribución de datos en un conjunto de observaciones. Su objetivo principal es organizar y resumir los datos para proporcionar una comprensión clara y concisa de cómo se distribuyen las diferentes categorías o valores en un conjunto de datos. Esto se logra al contar la frecuencia con la que ocurre cada valor o categoría en los datos.
Las distribuciones de frecuencias se utilizan comúnmente en estadística para analizar datos numéricos o categóricos y para visualizar patrones, tendencias y características de los datos. En general, una distribución de frecuencias consta de dos partes principales:
Clases o categorías: Son los intervalos o valores que dividen el rango de datos en segmentos o categorías. Cada clase debe ser mutuamente excluyente y exhaustiva, lo que significa que cada observación debe encajar en una y solo una clase.
Frecuencias: Representan el número de observaciones o la frecuencia con la que se encuentra cada valor o categoría dentro de cada clase. Estas frecuencias se pueden expresar en términos absolutos (número de observaciones) o relativos (proporción o porcentaje del total).
Una vez que se ha construido una distribución de frecuencias, es posible utilizarla para identificar medidas estadísticas importantes, como la moda (el valor más común), la mediana (el valor central) y la media (el promedio) de los datos. También se pueden crear gráficos, como histogramas o gráficos de barras, para visualizar la distribución de los datos de manera más efectiva.
En resumen, una distribución de frecuencias es una herramienta esencial en estadística que ayuda a resumir y organizar datos, lo que facilita su análisis y comprensión.
En estadística, una frecuencia se refiere al número de veces que ocurre un valor específico o una categoría particular en un conjunto de datos. Es una medida que se utiliza para cuantificar la ocurrencia o la prevalencia de un valor en una muestra o población. Las frecuencias son fundamentales para la construcción de distribuciones de frecuencias y para resumir la información contenida en un conjunto de datos. Las frecuencias pueden ser absolutas o relativaS.
Frecuencia absoluta: La frecuencia absoluta se refiere al número de veces que un valor específico o una categoría particular aparece en un conjunto de datos. Es una simple cuenta de la ocurrencia de cada valor.
\(Fi=\sum_{i=1}^{n} fi\)
Frecuencia Absoluta (f) = Número de veces que ocurre un valor específico
Por ejemplo, si tienes un conjunto de datos que consiste en las edades de 10 personas y deseas calcular la frecuencia absoluta de personas de 30 años, simplemente cuentas cuántas personas tienen 30 años en tus datos. Si resulta que hay 3 personas de 30 años en tu conjunto de datos, la frecuencia absoluta es 3.
Frecuencia relativa: La frecuencia relativa se calcula dividiendo la frecuencia absoluta de un valor o categoría por el tamaño total de la muestra o población. Esto proporciona una medida proporcional que expresa la frecuencia como un porcentaje o fracción del total. Se utiliza para comparar la importancia relativa de diferentes categorías dentro de un conjunto de datos.
\(fi= \frac{ni}{N}\)
Supongamos que tenemos una muestra de 100 estudiantes y estamos analizando sus calificaciones en un examen de matemáticas. Queremos calcular la frecuencia relativa de estudiantes que obtuvieron una calificación de A (por ejemplo, 90 o más). Primero, contamos cuántos estudiantes obtuvieron una calificación de A. Supongamos que son 25 estudiantes.
Luego, calculamos la frecuencia relativa dividiendo la frecuencia absoluta por el tamaño total de la muestra: Entonces, la frecuencia relativa de estudiantes que obtuvo una calificación de A es 0,25 o el 25%.
Frecuencia acumulada: La frecuencia acumulada es la suma acumulativa de las frecuencias absolutas de los valores o categorías en un conjunto de datos. Puede ser “acumulativa ascendente”, donde se suma desde el valor más bajo al más alto, o “acumulativa descendente”, donde se suma desde el valor más alto al más bajo. La frecuencia acumulada es útil para calcular percentiles y cuartiles en datos.
Frecuencia relativa acumulada: Similar a la frecuencia acumulada, la frecuencia relativa acumulada es la sumativa de las frecuencias relativas. Esto proporciona una perspectiva acumulativa de la distribución de datos en términos de porcentajes o fracciones acumulativas.
\(fi= \frac{Ni}{N}\)
Supongamos que tenemos una muestra de 50 personas y estamos analizando sus edades. Queremos calcular la frecuencia relativa acumulada de personas con 40 años o menos.
Primero, contamos cuántas personas tienen 40 años o menos. Supongamos que son 30 personas.
Luego, calculamos la frecuencia acumulada, que es el número acumulado de personas con 40 años o menos a medida que avanzamos a través de las edades en orden ascendente. Si tenemos una tabla de frecuencia, la frecuencia acumulada se suma en cada fila. Supongamos que la frecuencia acumulada correspondiente a 40 años o menos es 45 personas.
Finalmente, calculamos la frecuencia relativa acumulada dividiendo la frecuencia acumulada por el tamaño total de la muestra
Frecuencia porcentual: La frecuencia porcentual es simplemente la frecuencia relativa expresada como un porcentaje. Ayuda a visualizar la proporción de cada valor o categoría en relación con el total en términos de porcentaje.
\(FR=\frac{20}{65}*100\)
De manera similar, calculamos los porcentajes para los otros colores:
Porcentaje del color az30%30%.
Porcentaje del color verde = (10\10%10%.
Porcentaje del40%40%.
Entonces, en términos de porcentaje, el 20% de las personas
Cada tipo de frecuencia tiene su utilidad en análisis de datos y estadística descriptiva, permitiendo a los analistas y estadísticos comprender mejor la distribución de los datos y tomar medidas informadas en base a la información proporcionada por estas

Resumen de datos: Las distribuciones de frecuencias resumen datos extensos en una forma más manejable y comprensible, permitiendo a los analistas identificar patrones y características importantes en los datos.
Visualización: Las distribuciones de frecuencias se pueden representar gráficamente mediante histogramas, gráficos de barras, gráficos circulares u otros métodos visuales. Esto facilita la comprensión de la distribución de los datos de un vistazo.
Identificación de tendencias: Las distribuciones de frecuencias permiten identificar valores o categorías dominantes (moda), valores centrales (mediana) y valores promedio (media), lo que ayuda a comprender la tendencia central de los datos.
Análisis de dispersión: No solo muestra la tendencia central, sino que también proporciona información sobre la variabilidad de los datos, lo que es esencial para comprender la dispersión y los valores atípicos en el conjunto de datos.
Comparación de datos: Al utilizar distribuciones de frecuencias, es posible comparar diferentes conjuntos de datos, identificar similitudes y diferencias, y tomar decisiones informadas basadas en estas comparaciones.
Identificación de patrones anómalos: Las distribuciones de frecuencias pueden revelar valores atípicos o inusuales en los datos, lo que puede ser crítico en la detección de errores o anomalías en un conjunto de datos.
Facilita la toma de decisiones: Al comprender cómo se distribuyen los datos, las distribuciones de frecuencias son esenciales para la toma de decisiones basadas en datos, ya que proporcionan información cuantitativa y visual sobre la naturaleza de los datos.
Base_hosp2 <- read_delim("Base_hosp2.csv",
delim = ";", escape_double = FALSE, col_types = cols(`TIEMPO DE ESPERA(MIN)` = col_character()),
trim_ws = TRUE)
View(Base_hosp2)
head(Base_hosp2)
## # A tibble: 6 × 4
## DEPARTAMENTO CALIFICACION `TIEMPO DE ESPERA(MIN)` `COSTO DE SERVICIOS`
## <chr> <chr> <chr> <chr>
## 1 Urgencias Regular 30 875.000
## 2 Maternidad Muy bien 15 1.000.000
## 3 Cirugia Bien 30 1.750.000
## 4 Ortopedia Muy bien 18 1.400.000
## 5 Pediatria Excelente 22 1.120.000
## 6 Cardiologia Bien 25 1.000.000
length(Base_hosp2)
## [1] 4
names(Base_hosp2)
## [1] "DEPARTAMENTO" "CALIFICACION" "TIEMPO DE ESPERA(MIN)"
## [4] "COSTO DE SERVICIOS"
str(Base_hosp2)
## spc_tbl_ [6 × 4] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
## $ DEPARTAMENTO : chr [1:6] "Urgencias" "Maternidad" "Cirugia" "Ortopedia" ...
## $ CALIFICACION : chr [1:6] "Regular" "Muy bien" "Bien" "Muy bien" ...
## $ TIEMPO DE ESPERA(MIN): chr [1:6] "30" "15" "30" "18" ...
## $ COSTO DE SERVICIOS : chr [1:6] "875.000" "1.000.000" "1.750.000" "1.400.000" ...
## - attr(*, "spec")=
## .. cols(
## .. DEPARTAMENTO = col_character(),
## .. CALIFICACION = col_character(),
## .. `TIEMPO DE ESPERA(MIN)` = col_character(),
## .. `COSTO DE SERVICIOS` = col_character()
## .. )
## - attr(*, "problems")=<externalptr>
as.data.frame(table(Base_hosp2$DEPARTAMENTO))
## Var1 Freq
## 1 Cardiologia 1
## 2 Cirugia 1
## 3 Maternidad 1
## 4 Ortopedia 1
## 5 Pediatria 1
## 6 Urgencias 1
as.data.frame(table(Base_hosp2$CALIFICACION))
## Var1 Freq
## 1 Bien 2
## 2 Excelente 1
## 3 Muy bien 2
## 4 Regular 1
FrecAbs1 <- table(Base_hosp2$DEPARTAMENTO)
FrecAbs1
##
## Cardiologia Cirugia Maternidad Ortopedia Pediatria Urgencias
## 1 1 1 1 1 1
FrecRel1 <- round(prop.table(FrecAbs1), 3)
FrecRel1
##
## Cardiologia Cirugia Maternidad Ortopedia Pediatria Urgencias
## 0.167 0.167 0.167 0.167 0.167 0.167
FrecRelP1 <- FrecRel1*100
FrecRelP1
##
## Cardiologia Cirugia Maternidad Ortopedia Pediatria Urgencias
## 16.7 16.7 16.7 16.7 16.7 16.7
tabla_DEPARTAMENTO <- cbind(FrecAbs1, FrecRel1, FrecRelP1)
tabla_DEPARTAMENTO
## FrecAbs1 FrecRel1 FrecRelP1
## Cardiologia 1 0.167 16.7
## Cirugia 1 0.167 16.7
## Maternidad 1 0.167 16.7
## Ortopedia 1 0.167 16.7
## Pediatria 1 0.167 16.7
## Urgencias 1 0.167 16.7
colnames(tabla_DEPARTAMENTO) <- c("ni", "hi", "hi%")
tabla_DEPARTAMENTO
## ni hi hi%
## Cardiologia 1 0.167 16.7
## Cirugia 1 0.167 16.7
## Maternidad 1 0.167 16.7
## Ortopedia 1 0.167 16.7
## Pediatria 1 0.167 16.7
## Urgencias 1 0.167 16.7
kable(tabla_DEPARTAMENTO, format = "markdown", digits = 1)
| ni | hi | hi% | |
|---|---|---|---|
| Cardiologia | 1 | 0.2 | 16.7 |
| Cirugia | 1 | 0.2 | 16.7 |
| Maternidad | 1 | 0.2 | 16.7 |
| Ortopedia | 1 | 0.2 | 16.7 |
| Pediatria | 1 | 0.2 | 16.7 |
| Urgencias | 1 | 0.2 | 16.7 |
FrecAbs2 = table(Base_hosp2$CALIFICACION)
FrecAbsA2 = cumsum(FrecAbs2)
FrecRel2 = round(prop.table(FrecAbs2), 3)
FrecReP2 = FrecRel2*100
FrecRelAP2 = cumsum(FrecReP2)
Tabla_CALIFICACION = cbind(FrecAbs2,FrecAbsA2,FrecRel2,FrecReP2,FrecRelAP2)
colnames(Tabla_CALIFICACION) = c("ni","Ni","hi","hi%","Hi%")
Form.Basic <- c("striped", "bordered", "hover", "condensed", "responsive")
cbind.data.frame(Tabla_CALIFICACION) %>%
kable(align = "c") %>%
kable_styling(bootstrap_options = Form.Basic)
| ni | Ni | hi | hi% | Hi% | |
|---|---|---|---|---|---|
| Bien | 2 | 2 | 0.333 | 33.3 | 33.3 |
| Excelente | 1 | 3 | 0.167 | 16.7 | 50.0 |
| Muy bien | 2 | 5 | 0.333 | 33.3 | 83.3 |
| Regular | 1 | 6 | 0.167 | 16.7 | 100.0 |
FrecAbs3 = table(Base_hosp2$TIEMPO.DE.ESPERA.MIN.)
## Warning: Unknown or uninitialised column: `TIEMPO.DE.ESPERA.MIN.`.
FrecAbsA3 = cumsum(FrecAbs3)
FrecRel3 = round(prop.table(FrecAbs3), 3)
FrecReP3 = FrecRel3*100
FrecAbs4 = table(Base_hosp2$COSTO.DE.SERVICIOS)
## Warning: Unknown or uninitialised column: `COSTO.DE.SERVICIOS`.
FrecAbsA4 = cumsum(FrecAbs4)
FrecRel4= round(prop.table(FrecAbs4), 3)
FrecReP4 = FrecRel3*100
FrecRelAP4 = cumsum(FrecReP4)
Tabla_COSTO= cbind(FrecAbs3,FrecAbsA4,FrecRel4,FrecReP4,FrecRelAP4)
colnames(Tabla_COSTO) = c("ni","Ni","hi","hi%","Hi%")
Form.Basic <- c("striped", "bordered", "hover", "condensed", "responsive")
cbind.data.frame(Tabla_COSTO) %>%
kable(align = "c") %>%
kable_styling(bootstrap_options = Form.Basic)
| ni | Ni | hi | hi% | Hi% |
|---|---|---|---|---|
Tabla_CRUCE <- table(Base_hosp2$DEPARTAMENTO,Base_hosp2$CALIFICACION)
tabla <- round(prop.table(Tabla_CRUCE), 1)
Tabla_CRUCE %>%
kable(align = "c") %>%
kable_styling(bootstrap_options = Form.Basic)
| Bien | Excelente | Muy bien | Regular | |
|---|---|---|---|---|
| Cardiologia | 1 | 0 | 0 | 0 |
| Cirugia | 1 | 0 | 0 | 0 |
| Maternidad | 0 | 0 | 1 | 0 |
| Ortopedia | 0 | 0 | 1 | 0 |
| Pediatria | 0 | 1 | 0 | 0 |
| Urgencias | 0 | 0 | 0 | 1 |
barplot(FrecAbs2, beside = TRUE, las=1,
xlab='Variable calificacion', ylab='Frecuencia',
col = c("purple", "blue","orange","yellow"),
ylim = c(0, 5), main = "DIAGRAMA DE BARRAS VARIABLE CUALITATIVA CALIFICACION")
legend('topleft', legend=rownames(FrecAbs2), bty='n',
fill=c("purple", "blue","orange","yellow"))
barp2 <- barplot(FrecReP2, main = "DIAGRAMA DE BARRAS VARIABLES CUALITATIVA CALIFICACION", xlab = "Variable Calificacion", ylab = "Frecuencia", ylim = c(0,90), col = c("purple","blue","orange","yellow"))
text(barp2, FrecReP2 + 1.2, labels = FrecReP2)
legend('topleft', legend=rownames(FrecAbs2), bty='n',
fill=c("purple", "blue","orange","yellow"))
x <- table(Base_hosp2$CALIFICACION)
pie(x,col =c("purple","blue","orange","yellow"),main = "DIAGRAMA CIRCULAR VARIABLE CUALITATIVA CALIFICACION")
color <- brewer.pal(length(Base_hosp2$CALIFICACION), "Set2")
pie1 <- pie(FrecAbs2, labels = FrecAbs2, col = c("purple","blue","orange","yellow"), main = "DIAGRAMA CIRCULAR VARIABLE CUALITATIVA CALIFICACION")
legend('topleft', legend=rownames(x), bty='n',
fill=c("purple", "blue","orange","yellow"))
etiquetas <- paste0(FrecRel2*100, "%")
pie2 <- pie(FrecRel2, labels = etiquetas, col= c("purple","blue","orange","yellow"), main = "DIAGRAMA CIRCULAR VARIABLE CUALITATIVA CALIFICACION")
legend('topleft', legend=rownames(x), bty='n',
fill=c("purple", "blue","orange","yellow"))
barplot(FrecAbs1, beside = TRUE, las=1,
xlab='Variable departamento', ylab='Frecuencia',
col = c("pink","green","red","purple","yellow","blue"),
ylim = c(0, 5), main = "DIAGRAMA DE BARRAS VARIABLE CUALITATIVA DEPARTAMENTO")
legend('topleft', legend=rownames(FrecRel1), bty='n',
fill=c("pink","green","red","purple","yellow","blue"))
color <- brewer.pal(length(Base_hosp2$DEPARTAMENTO), "Set2")
pie1 <- pie(FrecRel1, labels = FrecAbs1, col = c("pink","green","red","purple","yellow","blue"), main = "DIAGRAMA CIRCULAR VARIABLE CUALITATIVA DEPARTAMENTO")
legend('topleft', legend=rownames(FrecAbs1), bty='n',
fill=c("pink","green","red","purple","yellow","blue"))