library(readxl)
setwd("C:/Users/Usuario/Downloads")
datos <- read_excel("database.xlsx")
## Warning: Expecting numeric in C2189 / R2189C3: got 'Accident Year'
## Warning: Expecting numeric in C2215 / R2215C3: got 'Accident Year'
# ===============================
#   VARIABLE: ACCIDENT STATE
# ===============================

# EXTRAER VARIABLE
accident_state <- datos$`Accident State`

# TABLA DE FRECUENCIA
tabla_freq_state <- table(accident_state)
View(tabla_freq_state)

# TABLA DE FRECUENCIA RELATIVA
tabla_rel_state <- prop.table(tabla_freq_state)
View(tabla_rel_state)

# TABLA DE PORCENTAJE
tabla_porcent_state <- prop.table(tabla_freq_state)*100
View(tabla_porcent_state)

# TABLA COMPLETA
tabla_completa_state <- data.frame(
  Accident_State = names(tabla_freq_state),
  Frecuencia = as.vector(tabla_freq_state),
  Frec_Relativa = round(as.vector(tabla_rel_state), 4),
  Porcentaje = round(as.vector(tabla_porcent_state), 2)
)
View(tabla_completa_state)
tabla_completa_state
##    Accident_State Frecuencia Frec_Relativa Porcentaje
## 1              AK         11        0.0040       0.40
## 2              AL         21        0.0075       0.75
## 3              AR         13        0.0047       0.47
## 4              CA        153        0.0550       5.50
## 5              CO         24        0.0086       0.86
## 6              CT          2        0.0007       0.07
## 7              FL          7        0.0025       0.25
## 8              GA         17        0.0061       0.61
## 9              HI          3        0.0011       0.11
## 10             IA         46        0.0165       1.65
## 11             ID          4        0.0014       0.14
## 12             IL        108        0.0388       3.88
## 13             IN         57        0.0205       2.05
## 14             KS        150        0.0539       5.39
## 15             KY         14        0.0050       0.50
## 16             LA        169        0.0607       6.07
## 17             MA          2        0.0007       0.07
## 18             MD          8        0.0029       0.29
## 19             ME          1        0.0004       0.04
## 20             MI         29        0.0104       1.04
## 21             MN         59        0.0212       2.12
## 22             MO         42        0.0151       1.51
## 23             MS         32        0.0115       1.15
## 24             MT         30        0.0108       1.08
## 25             NC         15        0.0054       0.54
## 26             ND         49        0.0176       1.76
## 27             NE         22        0.0079       0.79
## 28             NJ         85        0.0305       3.05
## 29             NM         57        0.0205       2.05
## 30             NV          1        0.0004       0.04
## 31             NY         14        0.0050       0.50
## 32             OH         53        0.0190       1.90
## 33             OK        236        0.0848       8.48
## 34             OR          4        0.0014       0.14
## 35             PA         45        0.0162       1.62
## 36             PR          1        0.0004       0.04
## 37             SC         16        0.0057       0.57
## 38             SD          9        0.0032       0.32
## 39             TN          7        0.0025       0.25
## 40             TX       1004        0.3608      36.08
## 41             UT          8        0.0029       0.29
## 42             VA         20        0.0072       0.72
## 43             WA          8        0.0029       0.29
## 44             WI         27        0.0097       0.97
## 45             WV          2        0.0007       0.07
## 46             WY         98        0.0352       3.52
library(ggplot2)

ggplot(data.frame(Accident_State = names(tabla_freq_state),
                  Frecuencia = as.vector(tabla_freq_state)),
       aes(x = Accident_State, y = Frecuencia)) +
  geom_bar(stat = "identity", fill = "steelblue") +
  labs(title = "Frecuencia de Accident State",
       x = "Estado",
       y = "Frecuencia") +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

ggplot(data.frame(Accident_State = names(tabla_rel_state),
                  Frec_Relativa = as.vector(tabla_rel_state)),
       aes(x = Accident_State, y = Frec_Relativa)) +
  geom_bar(stat = "identity", fill = "lightgreen") +
  labs(title = "Frecuencia Relativa de Accident State",
       x = "Estado",
       y = "Frecuencia Relativa") +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

ggplot(data.frame(Accident_State = names(tabla_porcent_state),
                  Porcentaje = as.vector(tabla_porcent_state)),
       aes(x = Accident_State, y = Porcentaje)) +
  geom_bar(stat = "identity", fill = "orange") +
  labs(title = "Porcentaje de Accident State",
       x = "Estado",
       y = "Porcentaje (%)") +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))