Conseptos basicos de R y Restudio pro

TALLER_1

Autor/a
Afiliación

Carlos Mario González Guerra

Fecha de publicación

16 de noviembre de 2025

Territorial Tolima
Ver código
# Verificar, instalar y activar el paquete "tidyverse"
if (!require(tidyverse)) {
  install.packages("tidyverse")
}
library(tidyverse)

# Verificar, instalar y activar el paquete "kableExtra"
if (!require(kableExtra)) {
  install.packages("kableExtra")
}
library(kableExtra)

# Verificar, instalar y activar el paquete "readxl"
if (!require(readxl)) {
  install.packages("readxl")
}
library(readxl)

1 Taller 1.A

pregunta #1 Ilustrar con ejemplos lo que se entiende por población, población finita, población infinita, muestra, característica, variable.

Población: Todos los estudiantes de un colegio.

Población finita: Los 600 estudiantes matriculados en ese colegio.

Población infinita: Las estrellas que existen en el universo.

Muestra: 50 estudiantes seleccionados al azar del colegio.

Característica: La estatura de los estudiantes. Variable: La estatura medida en centímetros de cada estudiante.

Pregunta #2 Mediante ejemplos, explicar la diferencia entre la estadística descriptiva y la estadística inductiva.

Estadística descriptiva: En una encuesta a 100 estudiantes, se calcula que la edad promedio es de 20 años. Solo describe los datos obtenidos.

Estadística inductiva (inferencial): A partir de esos 100 estudiantes, se concluye que la edad promedio de todos los estudiantes de la universidad es aproximadamente 20 años. Usa la muestra para sacar conclusiones sobre toda la población.

pregunta#3 ¿Por qué es útil la estadística en el campo para el cual se está preparando? La estadística es útil porque permite analizar datos, tomar decisiones basadas en evidencia y comprender mejor los fenómenos relacionados con el campo de estudio. Ayuda a identificar tendencias, comparar resultados, evaluar proyectos y prever situaciones futuras, lo que mejora la precisión y la eficiencia en el trabajo profesional

pregunta #4 Dar como mínimo tres ejemplos de fenómenos económicos, considerados dentro del campo de la investigación estadística.

El nivel de desempleo en una ciudad durante un año. La variación mensual del precio de los alimentos. El crecimiento del producto interno bruto (PIB) de un país.

pregunta #5 Dar tres ejemplos de fenómenos no considerados dentro del campo de la estadística.

• La formación de las nubes en el cielo. • El proceso de fotosíntesis en las plantas. • La rotación de la Tierra sobre su eje.

pregunta #6 La estadística estudia el comportamiento de fenómenos colectivos y nunca de una observación individual”. Comentar este principio.

Este principio significa que la estadística se ocupa de analizar grupos o conjuntos de datos, no casos aislados. Una sola observación no permite identificar patrones ni sacar conclusiones generales, mientras que al estudiar muchas observaciones se pueden detectar tendencias, promedios o relaciones que describen el comportamiento del conjunto. Por eso, la estadística busca entender fenómenos colectivos para obtener conclusiones más representativas y confiables.

pregunta #7- Señalar el literal que más concuerde con cada una de las siguientes aseveraciones:

7.1- Una buena muestra industrial debe ser: a) Pequeña. b) Grande. c) Representativa de la población objetivo. d) Incluir sólo los establecimientos grandes.

7.2- La clasificación de los establecimientos dedicados al comercio al detal se hace teniendo en cuenta: a) Su función.

  1. Su función.
  2. El valor de las ventas.
  3. El valor de la producción.
  4. El valor del trabajo realizado.

7.3- Una población infinita es aquélla en donde:

  1. El número de elementos está completamente delimitado.
  2. El número de elementos pasa de 1.000.
  3. El número de elementos está escondido.
  4. El número de elementos no está delimitado.

pregunta #8 Contestar verdadero o falso, según el caso:

  1. La palabra población, significa en la metodología estadística lo mismo que en cualquier otra disciplina. falso

  2. La teoría estadística es de naturaleza general y puede aplicarse a cualquier campo del conocimiento. verdadero

  3. A las medidas que se obtienen de una muestra, se les da el nombre de parámetros, mientras que a las obtenidas de una población se les denomina estadígrafos. falso

  4. Se conoce como fuente primaria, aquella información que se obtuvo inicialmente, es decir directamente de la persona, empresa o entidad investigada. verdadero

  5. Una muestra aleatoria, es aquélla en la cual ciertos elementos tienen mayor posibilidad de otros de ser seleccionados. falso

pregunta #9 Señalar el literal más adecuado para las siguientes observaciones:

a.1 La investigación preliminar permite:

  1. Establecer la hipótesis.

  2. Determinar la muestra.

  3. Coordinar el personal de campo.

  4. Ninguna de las anteriores.

b.1 Antes que nada, la investigación estadística requiere:

  1. Que exista un objetivo.
  2. Que se hayan trazado planes.
  3. Que se tenga un problema.
  4. Ninguna de los anteriores.

c.1 El costo de una encuesta, por correo, es generalmente:

  1. Igual al de una encuesta por medio de entrevistas personales.
  2. Mayor al de una encuesta por medio de entrevistas personales.
  3. Menor al de una encuesta por medio de entrevistas personales.
  4. Imposible de medir en relación con el costo de una encuesta por medio de entrevistas personales.
  1. En el diseño del cuestionario, las preguntas más difíciles deben colocarse:
  1. Al principio, para salir inmediatamente de la parte más difícil.
  2. En el centro para que sean precedidas y seguidas por preguntas fáciles.
  3. Al final, luego que se haya establecido un clima de confianza, al comenzar por las más fáciles hasta llegar a las difíciles.
  4. Ninguna de las anteriores.

pregunta #10 Contestar verdadero o falso, según el caso:

  1. Código es la representación cualitativa de un hecho cuantitativo. falso

  2. Después de elaborar el formulario se define el objetivo de la investigación. falso

  3. Al recolectar información por medio de entrevistadores se tiene la ventaja de que estos pueden observar el sitio de la operación que se está llevando a cabo. verdadero

  4. Se conoce como fuente primaria, aquella que obtuvo inicialmente la información directamente de la persona o entidad. verdadero

  5. Al diseñar un cuestionario no es de gran importancia la forma de hacer la pregunta, siempre que ésta sea clara. falso

  6. No hay posibilidad alguna de que, en una encuesta, por correo, se interpreten mal las preguntas de un cuestionario, siempre y cuando la persona que la reciba sepa leer. Falso

  7. El examen de la documentación y metodología se efectúa después de tabulada la información. falso

pregunta #11 Se ha dicho que en una investigación se consideran tres etapas; las que a su vez se subdividen en otras fases. ¿Cuáles son? ¿Podría usted reagrupar los titulares de este capítulo en un índice de temas de acuerdo con estas etapas? Planeación:

definición del problema, objetivos, hipótesis, diseño muestral, presupuesto.

Recolección de datos: selección de la muestra, capacitación de encuestadores, aplicación de formularios, control de calidad.

Procesamiento y análisis: codificación, tabulación, análisis estadístico, interpretación, informe y conclusiones.

pregunta #12 Mencionar algunos aspectos técnicos y materiales que deben tenerse en cuenta en el diseño de un formulario.

Claridad y lenguaje sencillo; preguntas directas y no tendenciosas. Orden lógico: filtros, preguntas fáciles primero, preguntas sensibles al final. Tipos de preguntas claras (cerradas, abiertas, escala). Codificación y espacio para respuestas; instrucciones para el encuestador. Prueba piloto y ajustes. Materiales: papel/formato digital, impresora, bolígrafos, tabletas, consentimiento informado, logística de campo.

pregunta #13 Un ejemplo de características cualitativa pueden ser datos sobre:

  1. Salarios
  2. Pulsaciones por minuto
  3. Gasto mensual en alimentación.
  4. Ocupación
  5. Temperatura.

pregunta #14 Una muestra es aleatoria cuando las unidades se seleccionan:

  1. En forma caprichosa.
  2. Por conveniencia.
  3. A través de un censo.
  4. En forma repetitiva.
  5. De tal manera que todas tengan la misma posibilidad.

pregunta #15 Por población o universo se entiende:

  1. Un recuento de unidades.
  2. Un conjunto de seres humanos.
  3. Un conjunto de datos.
  4. Un conjunto de medidas o el recuento de todas las unidades que tienen una característica común.
  5. Ninguna de las anteriores.

pregunta #16 Cualquier medida aplicada a la característica de las unidades en la población se denomina:

  1. .Parámetro
  2. Estimador.
  3. Estadístico.
  4. Variable.
  5. Población.

pregunta #17 Dentro de los hechos o fenómenos que no caen dentro del campo de la estadística están:

  1. Los de frecuente repetición.
  2. Los de distinta frecuencia.
  3. Los colectivos.
  4. Los individuales.
  5. Los cualitativos que pueden cuantificarse.

pregunta #18 La estadística descriptiva tiene como objetivo:

  1. Probar la significación de los resultados.
  2. Ser herramienta indispensable en el muestreo.
  3. Descubrir las causas que originan el hecho.
  4. Lograr conclusiones más allá de las muestras.
  5. Efectuar comparaciones sin sacar conclusiones de tipo más general.

pregunta #19 Se debe responder verdadero o falso, según el enunciado:

  1. Parámetro, es el resultado al aplicar una medida a las características de las unidades de una población.verdadero
  2. El recuento de los empleados de una empresa, de acuerdo al cargo, es un ejemplo de características cuantitativas.falso
  3. La estadística descriptiva, es el “estudio” de una muestra para hacer estimaciones acerca de los valores estadísticos de la población, de la cual se tomó la muestra. falso
  4. Una muestra aleatoria significa que, cada elemento tiene una probabilidad diferente al ser seleccionado. falso
  5. La inferencia, es un ordenamiento sistemático de la información en cuadros y gráficas que observamos en las diferentes publicaciones e informes. falso

pregunta #20 Explique brevemente los siguientes puntos:

  1. Factores o impedimentos que obligan a realizar una investigación parcial, en vez de una investigación total.

• Costo elevado de censar a toda la población. • Falta de tiempo suficiente. • Dificultad de acceso o dispersión geográfica de las unidades. • Destructividad del examen (si la medición destruye la unidad). • Recursos humanos o técnicos limitados.

pregunta #21 En los tres (3) ejemplos siguientes, determinar en cada uno de ellos ¿cuál es la población? ¿cuál es la muestra? ¿cuál es la unidad? ¿cuál es la característica? ¿cuál es cualitativa o cuantitativa? ¿cuál de las variables es discreta o continua?

  1. Se realiza un estudio en 350 hogares de la clase media de la ciudad Bellavista para conocer el tipo de aceite o grasa usada en la cocina. Los resultados fueron: 130 hogares utilizan el ajonjolí; maíz en 90 hogares; girasol en 75 hogares; etc.

• Población: todos los hogares de la clase media de la ciudad Bellavista. • Muestra: los 350 hogares estudiados. • Unidad: el hogar. • Característica: tipo de aceite o grasa usada. • Cualitativa o cuantitativa: cualitativa (nominal). • Variable discreta/continua: categórica (no aplica discreta/continua).

  1. El laboratorio de control de calidad de una empresa realiza un test de rapidez de acción de un pesticida de jardín, en 50 plantas infestadas. Los resultados fueron observados cada hora, habiéndose obtenido algunos datos del número de plantas totalmente libres de plaga, después de los períodos de tiempo que se indican: 6 horas, 6 plantas; 7 horas, 9 plantas; 8 horas, 5 plantas; etc.

• Población: plantas infestadas del universo relevante (por ejemplo, todas las plantas del invernadero o lote).

• Muestra: las 50 plantas sometidas al test. • Unidad: la planta. • Característica: número de plantas totalmente libres de plaga en cada periodo / tiempo hasta eliminación de plaga. • Cualitativa o cuantitativa: cuantitativa (conteo de plantas ibres; tiempo es cuantitativo).

• Variable discreta/continua: el conteo es discreta; el tiempo es continua (aunque registrado en horas enteras en el ejemplo).

  1. En un plantel de 800 niños de ambos sexos, de 5 a 12 años, se realizó un test de aceptación a 20 niños, utilizando una escala de 10 puntos, para medir el grado de aceptación de un nuevo producto que fabrica la compañía Chocolatera la Avispa S.A.

• oblación: los 800 niños del plantel. • Muestra: los 20 niños evaluados. • Unidad: el niño. • Característica: puntuación de aceptación en escala de 1 a 10. • Cualitativa o cuantitativa: cuantitativa ordinal (escala). • Variable discreta/continua: discreta (valores enteros 1–10)

2 taller 1.B

3 taller1.C

4 Distrubución de frecuencias

La distribución de frecuencias es una forma de organizar datos para mostrar cuántas veces ocurre cada valor o grupo de valores en un conjunto de información.

Se utiliza para:

-resumir datos de forma ordenada

-detectar patrones, tendencias o variaciones

-facilitar la construcción de gráficos (histograma, ojiva, polígonos de frecuencia)

-Es una base fundamental de la estadística descriptiva.

Concepto General

La distribución de frecuencias es una herramienta fundamental en estadística descriptiva que permite organizar y resumir un conjunto de datos de manera que se pueda observar con claridad la forma en que los valores se distribuyen dentro de una muestra o población.

Consiste en agrupar los datos en categorías (o clases) y contar el número de observaciones que pertenece a cada una de ellas. Este conteo se denomina frecuencia.

Tipos de Frecuencias

  1. Frecuencia Absoluta (fᵢ): Es el número de veces que se repite un valor o clase dentro del conjunto de datos.

f_i = \text{X} i

  1. Frecuencia absoluta Acumulada (Fᵢ): Es la suma progresiva de las frecuencias absolutas hasta una determinada clase.

F_i = f_1 + f_2 + \cdots + f_i 3. Frecuencia Relativa (hᵢ): Representa la proporción o porcentaje que corresponde a cada clase respecto al total de observaciones.

h_i = \frac{f_i}{n} donde ( h ) es el tamaño total de la muestra.

  1. Frecuencia Relativa Acumulada (Hᵢ): Es la suma acumulada de las frecuencias relativas.

H_i = h_1 + h_2 + \cdots + h_i ## .bajar dataset

Descarga de encuentas

4.1 .leer el dataset

Ver código
library(readxl)
encuesta <- read_excel("encuesta_administracion.xlsx")

Mostrar algunas filas

Ver código
head(encuesta,4)
# A tibble: 4 × 10
  Sector_Laboral Nivel_Ingresos Satisfaccion_Servicio Frecuencia_Participacion
  <chr>          <chr>          <chr>                 <chr>                   
1 Educación      Baja           Satisfecho            Siempre                 
2 Seguridad      Alta           Satisfecho            Siempre                 
3 Transporte     Baja           Insatisfecho          Rara vez                
4 Seguridad      Alta           Satisfecho            Nunca                   
# ℹ 6 more variables: Anos_Experiencia <dbl>, Numero_Hijos <dbl>,
#   Salario <dbl>, Satisfaccion_Laboral <dbl>, Edad <dbl>,
#   Participacion_Programas <dbl>

Estructuras de las variablaes

Ver código
glimpse(encuesta)
Rows: 200
Columns: 10
$ Sector_Laboral           <chr> "Educación", "Seguridad", "Transporte", "Segu…
$ Nivel_Ingresos           <chr> "Baja", "Alta", "Baja", "Alta", "Alta", "Baja…
$ Satisfaccion_Servicio    <chr> "Satisfecho", "Satisfecho", "Insatisfecho", "…
$ Frecuencia_Participacion <chr> "Siempre", "Siempre", "Rara vez", "Nunca", "A…
$ Anos_Experiencia         <dbl> 17, 18, 19, 20, 7, 18, 8, 8, 18, 6, 3, 5, 6, …
$ Numero_Hijos             <dbl> 5, 4, 2, 4, 4, 3, 4, 2, 5, 1, 4, 1, 2, 5, 3, …
$ Salario                  <dbl> 4541, 2077, 3376, 4273, 4520, 4715, 4660, 269…
$ Satisfaccion_Laboral     <dbl> 2.03, 1.95, 0.74, 1.35, 2.14, 0.78, 2.45, 1.7…
$ Edad                     <dbl> 56, 27, 31, 46, 36, 46, 49, 46, 58, 23, 56, 3…
$ Participacion_Programas  <dbl> 0.347, 0.125, 0.484, 0.436, 0.142, 0.742, 0.4…

número de variables

Ver código
encuesta %>% names %>% length
[1] 10

Nombre de las variables

Ver código
names(encuesta)
 [1] "Sector_Laboral"           "Nivel_Ingresos"          
 [3] "Satisfaccion_Servicio"    "Frecuencia_Participacion"
 [5] "Anos_Experiencia"         "Numero_Hijos"            
 [7] "Salario"                  "Satisfaccion_Laboral"    
 [9] "Edad"                     "Participacion_Programas" 

transformar variables

Ver código
encuesta <- encuesta %>%
  mutate(Nivel_ingresos = parse_factor(Nivel_Ingresos, 
                                levels= c('Baja', 'Media', 'Alta'), ordered = T)) %>%
  mutate(Frecuencia_Participacion = parse_factor(Frecuencia_Participacion, 
                                levels= c('Nunca', 'Rara vez', 'A veces', 'Frecuentemente'), ordered = T)) %>% 
  mutate(Satisfaccion_Servicio = parse_factor(Satisfaccion_Servicio, 
                                levels= c('Insatisfecho', 'Neutral', 'Satisfecho','Muy Satisfecho'), ordered = T))

Nueva estructura de las variables

Ver código
glimpse(encuesta)
Rows: 200
Columns: 11
$ Sector_Laboral           <chr> "Educación", "Seguridad", "Transporte", "Segu…
$ Nivel_Ingresos           <chr> "Baja", "Alta", "Baja", "Alta", "Alta", "Baja…
$ Satisfaccion_Servicio    <ord> Satisfecho, Satisfecho, Insatisfecho, Satisfe…
$ Frecuencia_Participacion <ord> NA, NA, Rara vez, Nunca, A veces, Rara vez, A…
$ Anos_Experiencia         <dbl> 17, 18, 19, 20, 7, 18, 8, 8, 18, 6, 3, 5, 6, …
$ Numero_Hijos             <dbl> 5, 4, 2, 4, 4, 3, 4, 2, 5, 1, 4, 1, 2, 5, 3, …
$ Salario                  <dbl> 4541, 2077, 3376, 4273, 4520, 4715, 4660, 269…
$ Satisfaccion_Laboral     <dbl> 2.03, 1.95, 0.74, 1.35, 2.14, 0.78, 2.45, 1.7…
$ Edad                     <dbl> 56, 27, 31, 46, 36, 46, 49, 46, 58, 23, 56, 3…
$ Participacion_Programas  <dbl> 0.347, 0.125, 0.484, 0.436, 0.142, 0.742, 0.4…
$ Nivel_ingresos           <ord> Baja, Alta, Baja, Alta, Alta, Baja, Alta, Alt…

5 .Variable Nominal

Ver código
set.seed(123)
color <- sample(c("Azul", "Rojo", "Verde", "Naranja"),
                size = 40, replace = TRUE)
table(color)
color
   Azul Naranja    Rojo   Verde 
     10       6      11      13 
Ver código
tibble(Color = color) %>% 
  group_by(Color) %>% 
  summarise(fi = n()) %>%
  mutate(hi = round(fi/sum(fi), 4), 
         Porcentaje = paste0(hi*100, "%")) %>% 
  knitr::kable(
    col.names = c("Color", "fi", "hi",
                  "Porcentaje"), align = c("l", "c", "c", "c")
  )
Color fi hi Porcentaje
Azul 10 0.250 25%
Naranja 6 0.150 15%
Rojo 11 0.275 27.5%
Verde 13 0.325 32.5%

tabla por colores

Ver código
library(dplyr)
library(kableExtra)

tibble(Color = color) %>% 
  group_by(Color) %>% 
  summarise(fi = n()) %>%
  mutate(hi = round(fi / sum(fi), 4), 
         Porcentaje = paste0(hi * 100, "%")) %>%
  knitr::kable(
    col.names = c("Color", "fi", "hi", "Porcentaje"), 
    align = c("l", "c", "c", "c")
  ) %>%
  kable_styling(full_width = F, bootstrap_options = c("striped", "hover", "condensed", "responsive")) %>%
  row_spec(0, bold = T, color = "white", background = "#4CAF50") %>% # Encabezado con fondo verde
  column_spec(1, background = "#f2f2f2") %>% # Columna de colores con fondo gris claro
  column_spec(2, color = "#2E86C1") %>% # Columna 'fi' en color azul
  column_spec(3, color = "#D68910") %>% # Columna 'hi' en color naranja
  column_spec(4, color = "#16A085")     # Columna 'Porcentaje' en color verde
Color fi hi Porcentaje
Azul 10 0.250 25%
Naranja 6 0.150 15%
Rojo 11 0.275 27.5%
Verde 13 0.325 32.5%

5.1 variable cuantitativa ordinal

Ver código
set.seed(456)
Salario <- sample(
  c("E", "B", "R", "M"),
  size = 250, replace = TRUE)
table(Salario)
Salario
 B  E  M  R 
58 74 63 55 
Ver código
Salario <- factor(
  Salario,
  levels = c("M", "R", "B", "E"),
  labels = c("Insatisfecho", "Neutral", "Satisfecho", "Muy Satisfecho"),
  ordered = TRUE
)
Ver código
Salario[1:10]
 [1] Muy Satisfecho Muy Satisfecho Neutral        Satisfecho     Muy Satisfecho
 [6] Insatisfecho   Neutral        Muy Satisfecho Satisfecho     Neutral       
Levels: Insatisfecho < Neutral < Satisfecho < Muy Satisfecho
Ver código
tibble(Salario = Salario) %>% 
  group_by(Salario) %>% 
  summarise(fi = n()) %>%
  #arrange(desc(Servicio)) %>% 
  mutate(
    hi = round(fi/sum(fi), 4), 
    Porcentaje = paste0(hi*100, "%"),
    Fi = cumsum(fi),
    Hi = cumsum(hi)
  ) %>% 
  knitr::kable(
    col.names = c("Calificación", "$f_i$", "$h_i$",
                  "Porcentaje", "$F_i$", "$H_i$"), align = c("l", "r", "r", "r", "r", "r")
  )
Calificación f_i h_i Porcentaje F_i H_i
Insatisfecho 63 0.252 25.2% 63 0.252
Neutral 55 0.220 22% 118 0.472
Satisfecho 58 0.232 23.2% 176 0.704
Muy Satisfecho 74 0.296 29.6% 250 1.000

5.2 .diagrama de barras

Ver código
library(ggplot2)

# Datos simulados
datos_servicio <- data.frame(
  Servicio = c("Bueno", "Excelente", "Regular", "Malo"),
  fi = c(58, 74, 55, 63)
)

# Cálculo de porcentajes
datos_servicio$Percentage <- (datos_servicio$fi / sum(datos_servicio$fi)) * 100

# Gráfico de barras horizontales con porcentajes
ggplot(datos_servicio, aes(x = fi, y = reorder(Servicio, fi))) +
  geom_bar(stat = "identity", fill = "#D68910") +
  labs(
    title = "Distribución de Calificaciones del Servicio",
    x = "Frecuencia Absoluta (fi)",
    y = "Calificación del Servicio"
  ) +
  geom_text(aes(label = paste0(round(Percentage, 1), "%")), hjust = -0.1) +
  theme_minimal()

6 .Variable cuantitativa discreta

Ver código
set.seed(987)
personas <- round(rnorm(400, mean = 5, sd = 1))
table(personas)
personas
  2   3   4   5   6   7   8 
  2  21  98 149  99  30   1 
Ver código
tibble(Personas = personas) %>% 
  group_by(Personas) %>% 
  summarise(fi = n()) %>%
  mutate(
    hi = round(fi/sum(fi), 4), 
    Porcentaje = paste0(hi*100, "%"),
    Fi = cumsum(fi),
    Hi = cumsum(hi)
  ) %>% 
  knitr::kable(
    col.names = c("Personas", "$f_i$", "$h_i$",
                  "Porcentaje", "$F_i$", "$H_i$"), align = c("l", "r", "r", "r", "r", "r")
  )
Personas f_i h_i Porcentaje F_i H_i
2 2 0.0050 0.5% 2 0.0050
3 21 0.0525 5.25% 23 0.0575
4 98 0.2450 24.5% 121 0.3025
5 149 0.3725 37.25% 270 0.6750
6 99 0.2475 24.75% 369 0.9225
7 30 0.0750 7.5% 399 0.9975
8 1 0.0025 0.25% 400 1.0000

6.1 .Variable cuantitativa discreta con totales

Ver código
tabla <- tibble(Personas = personas) %>% 
  group_by(Personas) %>% 
  summarise(fi = n()) %>%
  mutate(
    hi = round(fi/sum(fi), 4), 
    Porcentaje = paste0(hi*100, "%"),
    Fi = cumsum(fi),
    Hi = cumsum(hi)
  )

# Convertir las columnas Personas, Fi, y Hi a character para evitar conflictos
tabla <- tabla %>% mutate(
  Personas = as.character(Personas),
  Fi = as.character(Fi),
  Hi = as.character(Hi)
)

# Añadir la fila de totales, dejando Fi y Hi vacíos
totales <- tibble(
  Personas = "Total",
  fi = sum(tabla$fi),
  hi = round(sum(tabla$hi), 4),
  Porcentaje = paste0(round(sum(tabla$hi) * 100, 2), "%"),
  Fi = "",  # Puedes dejar en blanco o usar un valor numérico
  Hi = ""   # Puedes dejar en blanco o usar un valor numérico
)

# Combinar la tabla con los totales
tabla_final <- bind_rows(tabla, totales)

# Mostrar la tabla final con kable
tabla_final %>% 
  knitr::kable(
    col.names = c("Personas", "$f_i$", "$h_i$", "Porcentaje", "$F_i$", "$H_i$"), 
    align = c("l", "r", "r", "r", "r", "r")
  )
Personas f_i h_i Porcentaje F_i H_i
2 2 0.0050 0.5% 2 0.005
3 21 0.0525 5.25% 23 0.0575
4 98 0.2450 24.5% 121 0.3025
5 149 0.3725 37.25% 270 0.675
6 99 0.2475 24.75% 369 0.9225
7 30 0.0750 7.5% 399 0.9975
8 1 0.0025 0.25% 400 1
Total 400 1.0000 100%

6.2 .Variable cuantitativa continua

Ver código
set.seed(555)
anos <- round(rnorm(200, mean = 60, sd = 5), 1)
min(anos)
[1] 44.4

max(peso)

Ver código
max(anos)
[1] 77.1
Ver código
diff(range(anos))
[1] 32.7
Ver código
1+log2(200)
[1] 8.643856
Ver código
1+3.322*log10(200)
[1] 8.644022
Ver código
32.7/9
[1] 3.633333
Ver código
3.7*9
[1] 33.3
Ver código
33.3-32.7
[1] 0.6
Ver código
interv = cut(x = anos, breaks = seq(44.1, 77.4, by = 3.7)
             , include.lowest = TRUE)
tibble(anos = interv) %>% 
  group_by(anos) %>% 
  summarise(fi = n()) %>% 
  mutate(mi = seq(45.95, 75.55, by = 3.7)) %>% 
  relocate(anos, mi, fi) %>% 
  mutate(
    hi = fi/sum(fi),
    Fi = cumsum(fi),
    Hi = cumsum(hi)
  ) %>% 
  knitr::kable(
    col.names = c("anos", "mi", "fi", "hi",
                  "Fi", "Hi"), align = c("c", "c", "c", "c", "c", "c")
  ) %>% 
  kableExtra::kable_styling(full_width = FALSE) %>% 
  kableExtra::add_header_above(c("Distribuciones de frecuencias para la variable años" = 6))
Distribuciones de frecuencias para la variable años
anos mi fi hi Fi Hi
[44.1,47.8] 45.95 1 0.005 1 0.005
(47.8,51.5] 49.65 5 0.025 6 0.030
(51.5,55.2] 53.35 28 0.140 34 0.170
(55.2,58.9] 57.05 42 0.210 76 0.380
(58.9,62.6] 60.75 64 0.320 140 0.700
(62.6,66.3] 64.45 41 0.205 181 0.905
(66.3,70] 68.15 12 0.060 193 0.965
(70,73.7] 71.85 6 0.030 199 0.995
(73.7,77.4] 75.55 1 0.005 200 1.000

hasta aqui ## .Variable cuantitativa continua con totales

Ver código
library(dplyr)
library(kableExtra)

interv = cut(x = anos, breaks = seq(44.1, 77.4, by = 3.7), include.lowest = TRUE)

tabla <- tibble(anos = interv) %>% 
  group_by(anos) %>% 
  summarise(fi = n()) %>% 
  mutate(hi = fi / sum(fi)) %>% 
  mutate(
    mi = seq(45.95, 75.55, by = 3.7) %>% as.character(),  # Convertir `mi` a carácter
    Fi = cumsum(fi) %>% as.character(),                   # Convertir `Fi` a carácter
    Hi = cumsum(fi / sum(fi)) %>% as.character()          # Convertir `Hi` a carácter
  ) %>% 
  relocate(anos, mi, fi)
  

# Agregar la fila total con casillas en blanco
tabla <- tabla %>% 
  add_row(anos = "Total", mi = "", fi = sum(tabla$fi), hi = sum(tabla$hi), Fi = "", Hi = "")

# Generar la tabla con knitr::kable y agregar título
tabla %>% 
  knitr::kable(
    col.names = c("anos", "mi", "fi", "hi", "Fi", "Hi"), 
    align = c("l", "r", "r", "r", "r", "r")
  ) %>% 
  kableExtra::kable_styling(full_width = FALSE) %>% 
  kableExtra::add_header_above(c("Distribuciones de frecuencias para la variable años" = 6))
Distribuciones de frecuencias para la variable años
anos mi fi hi Fi Hi
[44.1,47.8] 45.95 1 0.005 1 0.005
(47.8,51.5] 49.65 5 0.025 6 0.03
(51.5,55.2] 53.35 28 0.140 34 0.17
(55.2,58.9] 57.05 42 0.210 76 0.38
(58.9,62.6] 60.75 64 0.320 140 0.7
(62.6,66.3] 64.45 41 0.205 181 0.905
(66.3,70] 68.15 12 0.060 193 0.965
(70,73.7] 71.85 6 0.030 199 0.995
(73.7,77.4] 75.55 1 0.005 200 1
Total 200 1.000

Tabla No. 1: Distribución de frecuencias participacion

Ver código
tibble(Sector = encuesta$Sector_Laboral) %>% 
  group_by(Sector) %>% 
  summarise(fi = n()) %>% 
  mutate(
    hi = round(fi/sum(fi), 4), 
    Porcentaje = paste0(hi*100, "%")) %>% 
  knitr::kable(
    col.names = c("Sector", "$f_i$", "$h_i$",
                  "Porcentaje"), align = c("l", "r", "r", "r")
  )
Sector f_i h_i Porcentaje
Administrativo 34 0.17 17%
Educación 44 0.22 22%
Sector Salud 40 0.20 20%
Seguridad 46 0.23 23%
Transporte 36 0.18 18%
Ver código
# 1. Tabla de frecuencias relativas (Nivel de ingresos vs Frecuencia de participación)
tabla_relativa <- encuesta %>% 
  count(Nivel_Ingresos, Frecuencia_Participacion) %>%   # Frecuencia absoluta
  group_by(Nivel_Ingresos) %>%                          # Agrupación por fila
  mutate(
    total_fila = sum(n),
    frecuencia_relativa = n / total_fila               # Frecuencia relativa
  ) %>%
  ungroup()


# 2. Tabla para gráficar 
data_porcentaje <- encuesta %>%
  count(Nivel_Ingresos, Frecuencia_Participacion) %>%
  group_by(Nivel_Ingresos) %>%
  mutate(porcentaje = n / sum(n) * 100) %>%
  ungroup()


# 3. Gráfico de barras con porcentajes
ggplot(data_porcentaje, aes(x = Nivel_Ingresos, 
                            y = porcentaje, 
                            fill = Frecuencia_Participacion)) +
  geom_bar(stat = "identity", position = "dodge") +
  labs(
    title = "Distribución porcentual de Frecuencia de Participación por Nivel de Ingresos",
    x = "Nivel de Ingresos",
    y = "Porcentaje (%)",
    fill = "Frecuencia de Participación"
  ) +
  theme_minimal() +
  geom_text(
    aes(label = sprintf("%.1f%%", porcentaje)),
    position = position_dodge(0.9),
    vjust = -0.5,
    size = 3
  )

Ver código
tibble(Sector = encuesta$Sector_Laboral) %>% 
  group_by(Sector) %>% 
  summarise(fi = n()) %>% 
  mutate(
    hi = round(fi/sum(fi), 4), 
    Porcentaje = paste0(hi*100, "%")) %>% 
  knitr::kable(
    col.names = c("Sector", "$f_i$", "$h_i$",
                  "Porcentaje"), align = c("l", "r", "r", "r")
  )
Sector f_i h_i Porcentaje
Administrativo 34 0.17 17%
Educación 44 0.22 22%
Sector Salud 40 0.20 20%
Seguridad 46 0.23 23%
Transporte 36 0.18 18%

Grafica No 1:Diagrama de barras

Ver código
# Calcular los porcentajes de cada categoría en la variable ESTADO
sector_counts <- encuesta %>%
  dplyr::count(Sector_Laboral) %>%
  mutate(porcentaje = n / sum(n) * 100)

# Crear el diagrama de barras
ggplot(sector_counts, aes(x = Sector_Laboral , y = porcentaje, fill = Sector_Laboral)) +
  geom_bar(stat = "identity") +
  labs(title = "Distribución porcentual del Sector_Laboral", 
       x = "Sector_Laboral", 
       y = "Porcentaje") +
  theme_minimal() +
  theme(legend.position = "none") +
  geom_text(aes(label = sprintf("%.1f%%", porcentaje)), 
            vjust = -0.5, 
            color = "black", 
            size = 3.5)

Ver código
# Calcular los porcentajes de cada categoría en la variable frecuencia
estado_counts <- encuesta %>%
  dplyr::count(Anos_Experiencia) %>%
  mutate(porcentaje = n / sum(n) * 100)

# Crear el diagrama circular
ggplot(estado_counts, aes(x = "", y = porcentaje, fill = Anos_Experiencia)) +
  geom_bar(stat = "identity", width = 1) +
  coord_polar("y") +
  labs(title = "Distribución porcentual del Años de experiencia") +
  theme_minimal() +
  theme(axis.title.x = element_blank(),
        axis.title.y = element_blank(),
        panel.grid = element_blank(),
        axis.text.x = element_blank()) +
  geom_text(aes(label = sprintf("%.1f%%", porcentaje)), 
            position = position_stack(vjust = 0.5), 
            color = "white", 
            size = 4)

Ver código
# Calcular los porcentajes de cada categoría en la variable frecuencia
estado_counts <- encuesta %>%
  dplyr::count(Frecuencia_Participacion) %>%
  mutate(porcentaje = n / sum(n) * 100)

# Crear el diagrama circular
ggplot(estado_counts, aes(x = "", y = porcentaje, fill = Frecuencia_Participacion)) +
  geom_bar(stat = "identity", width = 1) +
  coord_polar("y") +
  labs(title = "Distribución porcentual del frecuencia de participación") +
  theme_minimal() +
  theme(axis.title.x = element_blank(),
        axis.title.y = element_blank(),
        panel.grid = element_blank(),
        axis.text.x = element_blank()) +
  geom_text(aes(label = sprintf("%.1f%%", porcentaje)), 
            position = position_stack(vjust = 0.5), 
            color = "white", 
            size = 4)

tra

Ver código
# 1. Tabla de frecuencias relativas (Nivel de ingresos vs Frecuencia de participación)
tabla_relativa <- encuesta %>% 
  count(Nivel_Ingresos, Frecuencia_Participacion) %>%   # Frecuencia absoluta
  group_by(Nivel_Ingresos) %>%                          # Agrupación por fila
  mutate(
    total_fila = sum(n),
    frecuencia_relativa = n / total_fila               # Frecuencia relativa
  ) %>%
  ungroup()


# 2. Tabla para gráficar 
data_porcentaje <- encuesta %>%
  count(Nivel_Ingresos, Frecuencia_Participacion) %>%
  group_by(Nivel_Ingresos) %>%
  mutate(porcentaje = n / sum(n) * 100) %>%
  ungroup()


# 3. Gráfico de barras con porcentajes
ggplot(data_porcentaje, aes(x = Nivel_Ingresos, 
                            y = porcentaje, 
                            fill = Frecuencia_Participacion)) +
  geom_bar(stat = "identity", position = "dodge") +
  labs(
    title = "Distribución porcentual de Frecuencia de Participación por Nivel de Ingresos",
    x = "Nivel de Ingresos",
    y = "Porcentaje (%)",
    fill = "Frecuencia de Participación"
  ) +
  theme_minimal() +
  geom_text(
    aes(label = sprintf("%.1f%%", porcentaje)),
    position = position_dodge(0.9),
    vjust = -0.5,
    size = 3
  )

Ver código
estado_counts <- encuesta %>%
  dplyr::count(Nivel_Ingresos) %>%
  mutate(porcentaje = n / sum(n) * 100)

6.3 .Diagrama de barras conjuntas

Ver código
ggplot(data_porcentaje, aes(x = Nivel_Ingresos,
                            y = porcentaje,
                            fill = Frecuencia_Participacion)) +
  geom_bar(stat = "identity", position = "stack") +
  labs(
    title = "Distribución porcentual de Frecuencia de Participación por Nivel de Ingresos",
    x = "Nivel de Ingresos",
    y = "Porcentaje (%)",
    fill = "Frecuencia de Participación"
  ) +
  theme_minimal() +
  geom_text(
    aes(label = sprintf("%.1f%%", porcentaje)),
    position = position_stack(vjust = 0.5),
    color = "white",
    size = 3
  ) +
  coord_flip()