En dos entradas anteriores vimos como crear histogramas y tablas de frecuencias en Excel y Access. En esta entrada haremos lo mismo en R usando los mismos datos.
Manipulación de los datos
datos <- read.csv("datos.txt", sep = ";") # Fichero en el directorio
hist(datos$año) # Intentamos crear histograma
## Error in hist.default(datos$año) : 'x' must be numeric
names(datos) # Genera error por la ñ en Año
## [1] "Id" "Nombre" "Año"
colnames(datos) <- c("id", "nombre", "fecha") # Renombramos las columnas
names(datos)
## [1] "id" "nombre" "fecha"
Tabla de frecuencias
intervalos <- seq(from = 1913, to = 2013, by = 10)
frecuencias <- cut(datos$fecha, # Usamos la nueva columna: fechas
breaks = intervalos,
dig.lab = 4, # Nº de dígitos de los intervalos
right = FALSE) # Intervalos [a, b). Por defecto: (a, b]
tabla.frec <- table(frecuencias) # Crea la tabla de frecuencias
as.data.frame(tabla.frec) # O cbind(tabla.frec) mejoramos el formato
## frecuencias Freq
## 1 [1913,1923) 16
## 2 [1923,1933) 8
## 3 [1933,1943) 18
## 4 [1943,1953) 3
## 5 [1953,1963) 7
## 6 [1963,1973) 11
## 7 [1973,1983) 6
## 8 [1983,1993) 9
## 9 [1993,2003) 14
## 10 [2003,2013) 8
Histograma
# Creamos histograma por defecto
hist(datos$fecha)
Queremos el formato aproximado al gráfico que creamos en esta entrada.
#Formateamos el histograma
intervalos <- seq(from = 1913, to = 2013, by = 10)
h <- hist(datos$fecha,
breaks = intervalos, # Añadimos los intervalos
freq = TRUE, # Representa frecuencias
right = FALSE, # Intervalos [a, b). Por defecto: (a, b]
col = rgb(79, 129, 189, max = 255), # Color de las columnas
border = "white", # Color del borde
labels = TRUE, # Etiquetas de las columnas
main = "Frecuencias", # Título del gráfico
xaxt = "n", # Eliminamos eje x
yaxt = "n", # Eliminamos eje y
xlab = "Años", # Título del eje x
ylab = NULL, # Título del eje y
ylim = c(0, 20)) # Escala de y (fijamos max en 20)
axis(side = 1, at = intervalos) # Etiquetas del eje x
Entradas relacionadas
No hay comentarios:
Publicar un comentario