En estadistica descriptiva se trabaja con datos. Los datos se originan en dos tipos. Variables de tipo cualitativo y cuantitativo
Estas variables miden cualidad, por ejemplo estado civil, partido politico, genero, etc
Se clasifican en:
Discretas: una variable es discreta cuando sus elementos pueden tener una relacion uno a uno con el conjunto de los numeros naturales o ser un conjunto finito. ejemplo, numero de hijos, cantidad de carros ensamblados en un año
Continua: cuando sus elementos son infinitos no numerables. (subconjunto de los numeros reales) Ejemplo el area, el volumen, el tiempo
para realizar analisis grafico se necesitaran los siguientes paquetes
knitr::opts_chunk$set(echo = TRUE)
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.5.1
library(descriptr)
## Warning: package 'descriptr' was built under R version 4.5.1
library(ggplot2)
library(datos)
## Warning: package 'datos' was built under R version 4.5.1
install.packages("datos")
## Warning: package 'datos' is in use and will not be installed
install.packages("dplyr")
## Warning: package 'dplyr' is in use and will not be installed
library(datos)
library(dplyr)
Realizaremos graficas para
datos.e <- datos::encuesta
head(datos.e)
## # A tibble: 6 × 9
## anio estado_civil edad raza ingreso partido religion denominacion horas_tv
## <int> <fct> <int> <fct> <fct> <fct> <fct> <fct> <int>
## 1 2000 Nunca se ha … 26 Blan… 8000 -… Ind, p… Protest… Bautistas d… 12
## 2 2000 Divorciado 48 Blan… 8000 -… No fue… Protest… Bautista, n… NA
## 3 2000 Viudo 67 Blan… No apl… Indepe… Protest… No denomina… 2
## 4 2000 Nunca se ha … 39 Blan… No apl… Ind, p… Cristia… No aplica 4
## 5 2000 Divorciado 25 Blan… No apl… No fue… Ninguna No aplica 1
## 6 2000 Casado 25 Blan… 20000 … Fuerte… Protest… Bautistas d… NA
set.seed(2548) # sembrar una semilla
library(dplyr)
datos.m <- sample_n(tbl = datos.e, size = 120, replace = FALSE)
frec1 <- table(datos.m$raza)
frec1
##
## Otra Negra Blanca No aplica
## 9 23 88 0
head(datos.m, 5)
## # A tibble: 5 × 9
## anio estado_civil edad raza ingreso partido religion denominacion horas_tv
## <int> <fct> <int> <fct> <fct> <fct> <fct> <fct> <int>
## 1 2002 Viudo 88 Blanca No apl… Fuerte… Ninguna No aplica 4
## 2 2000 Casado 26 Blanca 25000 … Fuerte… Protest… Iglesia met… 2
## 3 2012 Casado 43 Otra No sabe Indepe… Católica No aplica 0
## 4 2004 Divorciado 67 Blanca No apl… Ind, p… Católica No aplica NA
## 5 2008 Casado 55 Negra 25000 … Fuerte… Protest… Otra 7
tail(datos.m, 5) # muestra los 10 ultimos
## # A tibble: 5 × 9
## anio estado_civil edad raza ingreso partido religion denominacion horas_tv
## <int> <fct> <int> <fct> <fct> <fct> <fct> <fct> <int>
## 1 2012 Casado 41 Blan… 25000 … No fue… Ninguna No aplica NA
## 2 2008 Casado 71 Blan… No apl… Indepe… Otra No aplica 4
## 3 2008 Nunca se ha … 36 Blan… 20000 … Otro p… Ninguna No aplica 1
## 4 2000 Nunca se ha … 18 Blan… No apl… No fue… Ninguna No aplica NA
## 5 2000 Viudo 38 Negra 8000 -… Ind, p… Protest… Bautista, n… NA
str(datos.m) # describe el tipo de variable
## tibble [120 × 9] (S3: tbl_df/tbl/data.frame)
## $ anio : int [1:120] 2002 2000 2012 2004 2008 2008 2002 2012 2000 2002 ...
## $ estado_civil: Factor w/ 6 levels "Sin respuesta",..: 5 6 6 4 6 3 2 2 6 5 ...
## $ edad : int [1:120] 88 26 43 67 55 58 38 23 57 71 ...
## $ raza : Factor w/ 4 levels "Otra","Negra",..: 3 3 1 3 2 1 3 2 3 3 ...
## $ ingreso : Factor w/ 16 levels "Sin respuesta",..: 16 4 2 16 4 7 14 5 14 14 ...
## $ partido : Factor w/ 10 levels "Sin respuesta",..: 10 10 7 8 10 5 9 10 7 5 ...
## $ religion : Factor w/ 16 levels "Sin respuesta",..: 12 15 14 14 15 14 14 12 12 15 ...
## $ denominacion: Factor w/ 30 levels "Sin respuesta",..: 30 20 30 30 4 30 30 30 30 4 ...
## $ horas_tv : int [1:120] 4 2 0 NA 7 1 1 1 5 NA ...
names(datos.m)
## [1] "anio" "estado_civil" "edad" "raza" "ingreso"
## [6] "partido" "religion" "denominacion" "horas_tv"
attach(datos.m)
frela1 <- table(datos.m$raza)
barplot(frec1,
col = c("darkblue","purple","#C1CDCD","cadetblue3"),
horiz = FALSE,
ylab = "Frecuencia absoluta",
border = TRUE,
ylim = c(0, max(frec1) + 10), # ajusta automáticamente
xlab = "CategorÃas de raza",
main = "Gráfico de barras para raza")
#Grafico tipo pastel
pie(frela1,labels = names(frela1),
density=NULL,edges = 500, radius = 1.2,
col=c("aquamarine1","antiquewhite2", "purple","darkseagreen2"),
clockwise = TRUE, main = "Primer diagrama de torta",
border = "blue")
?pie
## starting httpd help server ... done
####Con ggplot
sample(x=22,size=3)
## [1] 5 19 1
set.seed(25) # Sembrar una semilla
names(datos.m)
## [1] "anio" "estado_civil" "edad" "raza" "ingreso"
## [6] "partido" "religion" "denominacion" "horas_tv"
str(datos.m)
## tibble [120 × 9] (S3: tbl_df/tbl/data.frame)
## $ anio : int [1:120] 2002 2000 2012 2004 2008 2008 2002 2012 2000 2002 ...
## $ estado_civil: Factor w/ 6 levels "Sin respuesta",..: 5 6 6 4 6 3 2 2 6 5 ...
## $ edad : int [1:120] 88 26 43 67 55 58 38 23 57 71 ...
## $ raza : Factor w/ 4 levels "Otra","Negra",..: 3 3 1 3 2 1 3 2 3 3 ...
## $ ingreso : Factor w/ 16 levels "Sin respuesta",..: 16 4 2 16 4 7 14 5 14 14 ...
## $ partido : Factor w/ 10 levels "Sin respuesta",..: 10 10 7 8 10 5 9 10 7 5 ...
## $ religion : Factor w/ 16 levels "Sin respuesta",..: 12 15 14 14 15 14 14 12 12 15 ...
## $ denominacion: Factor w/ 30 levels "Sin respuesta",..: 30 20 30 30 4 30 30 30 30 4 ...
## $ horas_tv : int [1:120] 4 2 0 NA 7 1 1 1 5 NA ...
frec_datos.m<- table(datos.m$raza)
frec_datos.m
##
## Otra Negra Blanca No aplica
## 9 23 88 0
?barplot
barplot(frec_datos.m, width = 1.3, ylim=c(0,100),col = 'cadetblue',
border = '#B03060',ylab="Frecuencia absoluta",main = "Diagrama de barras raza",
xlab = "CategorÃa", density = 25)
library(ggplot2)
is.data.frame(frec_datos.m)
## [1] FALSE
df <- as.data.frame(frec_datos.m)
is.data.frame(df)
## [1] TRUE
df
## Var1 Freq
## 1 Otra 9
## 2 Negra 23
## 3 Blanca 88
## 4 No aplica 0
View(df)
attach(df)
df <- rename(df, clase = Var1, valor= Freq)
diag_barra <- ggplot(df, aes(x = clase, y=valor)) +
geom_col()
diag_barra
diag_barra <- ggplot(df, aes(x = clase, y=valor)) +
geom_col() +
geom_text(aes(label = clase), vjust = 1, colour = "blue")
diag_barra
diag_barra <- ggplot(df, aes(x = clase, y = valor, fill = clase)) +
geom_bar(stat = 'identity') +
ylim(c(0,100))
diag_barra
?pie
torta1 <- pie(frec_datos.m,
labels = names(frec_datos.m),
radius = 0.8,
main = "Diagrama de Torta por Raza")
torta1 <- pie(frec_datos.m,
labels = c("Otra", "Negra", "Blanca"),
main = "Diagrama de Tarta",
radius = 0.8)
names(df)
## [1] "clase" "valor"
attach(df)
pct <- round(valor/sum(valor)*100)
etiquetas <- paste(clase, pct) # Adicionando porcentajes a etiquetas
etiquetas <- paste(etiquetas,"%") # Adicionando el sÃmbolo de %
torta2 <- pie(pct,labels = etiquetas, radius = 0.8,
col=rainbow(length(etiquetas)),
main="Diagrama de torta")
# Adicionando un cuadro con leyendas
legend("topright", c("otra","Negra","Blanca"),
cex = 0.5, fill = rainbow(length(etiquetas)))