0.- Librerias

library(readr)
library(dplyr)
library(knitr)
library(kableExtra)
library(ggplot2)

1.- Leer datos

setwd("C:/Users/CESAR/Downloads/proyecto x")
variables <- read.csv("C:/Users/CESAR/Downloads/proyecto x/GlobalweatherRepository.csv", header = TRUE, sep = (","), dec = ("."))

2.- Depuración y selección de la variable

Depuración

variables <- na.omit(variables)

Selección

Capital <- variables$location_name

3.- Frecuencias

Tabla 1

Tabla_Capital <- table(Capital)

ni_capital <- as.vector(Tabla_Capital) 
hi_capital <- round((ni_capital / sum(ni_capital)) * 100, 2)

4.- Tabla de frecuencia

Tabla 1

TDF_Capital_Base <- data.frame(
  Capital = names(Tabla_Capital),
  ni = ni_capital,
  hi = hi_capital
)
sumatoria_capital <- data.frame(
  Capital = "TOTAL", 
  ni = sum(ni_capital), 
  hi = 100
)
TDF_Capital_Suma <- rbind(TDF_Capital_Base, sumatoria_capital)

colnames(TDF_Capital_Suma) <- c("Capital", "Frecuencia Absoluta (ni)", "Frecuencia Relativa (hi %)")

kable(TDF_Capital_Suma, align = "c",
      caption = "Tabla 2: Tabla de distribución de frecuencia de las capitales del mundo para el análisis meteorológico del periodo mayo del 2024 a mayo del 2026") |> 
  kable_styling(full_width = TRUE, position = "center",
                bootstrap_options = c("striped", "hover", "condensed", "responsive")) |> 
  row_spec(0, bold = TRUE, color = "white", background = "#2C3E50") |> 
  row_spec(nrow(TDF_Capital_Suma), bold = TRUE, background = "#EAEDED") |> 
  footnote(general = "Fuente: Global Weather Repository,(https://www.kaggle.com/datasets/nelgiriyewithana/global-weather-repository)",
           general_title = "Nota: ",
           footnote_as_chunk = TRUE,
           title_format = c("italic", "bold"))
Tabla 2: Tabla de distribución de frecuencia de las capitales del mundo para el análisis meteorológico del periodo mayo del 2024 a mayo del 2026
Capital Frecuencia Absoluta (ni) Frecuencia Relativa (hi %)
’S-Gravenbrakel 178 0.13
’S Gravenjansdijk 431 0.30
’S Gravenjansdyk 12 0.01
’S Gravenstaffel 16 0.01
-Kingdom 1 0.00
Abu Dhabi 728 0.51
Abuja 728 0.51
Accra 729 0.51
Addis Ababa 726 0.51
Addis Abeba 1 0.00
Adkip 20 0.01
Aguaray 178 0.13
Airai 371 0.26
Algiers 726 0.51
Amman 729 0.51
Amsterdam 728 0.51
Andorra La Vella 728 0.51
Ankara 726 0.51
Antananarivo 728 0.51
Apia 722 0.51
Ar Riyadh 1 0.00
Ashgabat 727 0.51
Asmara 729 0.51
Astana 727 0.51
Asuncion 1 0.00
Athens 724 0.51
Aurora 423 0.30
Bafoussam 18 0.01
Baghdad 729 0.51
Baku 727 0.51
Bali 1 0.00
Bamako 727 0.51
Ban Lom 411 0.29
Bandar Seri Begawan 726 0.51
Bangkok 727 0.51
Bangui 727 0.51
Banjul 725 0.51
Basseterre 726 0.51
Beijing 725 0.51
Beijing Shi 1 0.00
Beirut 728 0.51
Belgrade 728 0.51
Belmopan 723 0.51
Berlin 728 0.51
Bern 729 0.51
Bishkek 727 0.51
Bissau 727 0.51
Bogot 726 0.51
Bogota 1 0.00
Bras 723 0.51
Bratislava 728 0.51
Brazzaville 726 0.51
Bridgetown 726 0.51
Brussels 727 0.51
Bucharest 726 0.51
Budapest 728 0.51
Buenos Aires 726 0.51
Bujumbura 729 0.51
Cairo 726 0.51
Canberra 727 0.51
Caracas 726 0.51
Carreria 25 0.02
Castries 727 0.51
Chi-Chi-Erh 41 0.03
Chi Chi Khvar 685 0.48
City Of San Marino 1 0.00
Colombo 728 0.51
Conakry 727 0.51
Copenhagen 727 0.51
Costa Rica 1 0.00
Dakar 729 0.51
Damascus 727 0.51
Dhaka 727 0.51
Dhidhdhoo 690 0.49
Dili 725 0.51
Djibouti 726 0.51
Dodoma 727 0.51
Doha 726 0.51
Douala 269 0.19
Dublin 726 0.51
Dushanbe 726 0.51
Felidhoo 34 0.02
Freetown 725 0.51
Funafuti 728 0.51
Gaborone 728 0.51
Garrapata 65 0.05
Georgetown 724 0.51
Grenada 1 0.00
Grindavik 36 0.03
Guatemala City 721 0.51
Hanoi 727 0.51
Harare 726 0.51
Havana 724 0.51
Helsinki 728 0.51
Ho Chi Minh City 1 0.00
Honiara 728 0.51
Islamabad 726 0.51
Ivory 458 0.32
Ivory Ivory Ban 1 0.00
Jakarta 728 0.51
Jerusalem 727 0.51
Juba 726 0.51
Kabul 729 0.51
Kampala 728 0.51
Kathmandu 727 0.51
Khartoum 726 0.51
Kigali 728 0.51
Kingston 269 0.19
Kingstown 726 0.51
Kinshasa 726 0.51
Kiyabo 1 0.00
Koror 320 0.23
Krasnyy Turkmenistan 1 0.00
Kuala Lumpur 727 0.51
Kuwait 1 0.00
Kuwait City 726 0.51
Kyiv 729 0.51
Laos 727 0.51
Libreville 727 0.51
Lilongwe 728 0.51
Lima 723 0.51
Lisbon 727 0.51
Ljubljana 728 0.51
Lom 315 0.22
Lome 1 0.00
London 726 0.51
Luanda 728 0.51
Lusaka 728 0.51
Luxembourg 726 0.51
Madrid 728 0.51
Majuro 728 0.51
Malabo 729 0.51
Male 1 0.00
Managua 722 0.51
Manama 728 0.51
Manila 726 0.51
Maputo 728 0.51
Maseru 726 0.51
Mbabane 726 0.51
Melbourne 1 0.00
Mexico (Grupo Mexico) 1 0.00
Mexico City 723 0.51
Meyungs 16 0.01
Minsk 727 0.51
Mogadishu 726 0.51
Moldova 1 0.00
Mombasa 1 0.00
Monaco 725 0.51
Monrovia 727 0.51
Montevideo 727 0.51
Morocco City 1 0.00
Moroni 728 0.51
Moscow 728 0.51
Muscat 728 0.51
N’djamena 729 0.51
Nairobi 728 0.51
Nan 729 0.51
Nassau 723 0.51
National 723 0.51
New Delhi 727 0.51
New Guatemala 1 0.00
New York 1 0.00
Ngaoundere 424 0.30
Niamey 728 0.51
Nicosia 728 0.51
Norman Gardens 36 0.03
Nouakchott 727 0.51
Nuku’alofa 1 0.00
Nuku`Aloia 725 0.51
Oslo 726 0.51
Ottawa 726 0.51
Ouagadougou 728 0.51
Palau 1 0.00
Palikir 726 0.51
Panama City 725 0.51
Paramaribo 725 0.51
Paris 727 0.51
Pasto 25 0.02
Pathein 16 0.01
Phnom Penh 726 0.51
Phnum Penh 1 0.00
Podgorica 726 0.51
Port-Au-Prince 725 0.51
Port Louis 727 0.51
Port Moresby 728 0.51
Port Of Spain 725 0.51
Port Royal 420 0.30
Port Vila 728 0.51
Porto-Novo 727 0.51
Prague 726 0.51
Praia 728 0.51
Pretoria 728 0.51
Pristina 1 0.00
Pyongyang 726 0.51
Quito 723 0.51
Rabat 726 0.51
Rangoon 288 0.20
Reykjavik 266 0.19
Riga 727 0.51
Riyadh 727 0.51
Rome 728 0.51
Roseau 724 0.51
S-Chanf 48 0.03
S. Manian 42 0.03
Saint George’s 723 0.51
Saint John’s 724 0.51
Saint Petersburg 1 0.00
San Ignacio 439 0.31
San Jose 266 0.19
San Juan 16 0.01
San Marino 725 0.51
San Salvador 721 0.51
Sanaa 729 0.51
Santiago 725 0.51
Santo Domingo 725 0.51
Sao Paulo 1 0.00
Sarajevo 728 0.51
Sartorio 10 0.01
Seoul 727 0.51
Singapore 728 0.51
Skopje 723 0.51
Sofia 727 0.51
Stockholm 727 0.51
Sucre 722 0.51
Surabaya 1 0.00
Suva 729 0.51
Tallinn 727 0.51
Tarawa 727 0.51
Tashkent 729 0.51
Tbilisi 725 0.51
Tegucigalpa 723 0.51
Tehran 727 0.51
Thimphu 726 0.51
Tirana 727 0.51
Tokyo 729 0.51
Tripoli 1 0.00
Tunis 726 0.51
Ulaanbaatar 727 0.51
Vaduz 727 0.51
Valletta 729 0.51
Vatican City 729 0.51
Vestmannaeyjar 424 0.30
Victoria 726 0.51
Vienna 728 0.51
Vientiane 1 0.00
Vilnius 727 0.51
Warsaw 729 0.51
Washington Harbor 703 0.50
Washington Park 16 0.01
Wellington 727 0.51
Windhoek 728 0.51
Yamoussoukro 267 0.19
Yangon 424 0.30
Yaounde 16 0.01
Yaren 727 0.51
Yerevan 728 0.51
Zagreb 725 0.51
TOTAL 141703 100.00
Nota: Fuente: Global Weather Repository,(https://www.kaggle.com/datasets/nelgiriyewithana/global-weather-repository)

Tabla 2

TDF_Capital_Cuadrante_Base <- variables %>%
  filter(!is.na(latitude) & !is.na(longitude)) %>%
  mutate(
    Cuadrante = case_when(
      latitude >= 0 & longitude >= 0 ~ "Norte - Este",
      latitude >= 0 & longitude < 0  ~ "Norte - Oeste",
      latitude < 0  & longitude >= 0 ~ "Sur - Este",
      latitude < 0  & longitude < 0  ~ "Sur - Oeste",
      TRUE                           ~ "No Clasificado"
    )
  ) %>%
  group_by(location_name, Cuadrante) %>%
  summarise(ni = n(), .groups = "drop") %>%
  mutate(hi = round((ni / sum(ni)) * 100, 2)) %>%
  arrange(desc(ni))

sumatoria_capital_cuadrante <- data.frame(
  location_name = "TOTAL",
  Cuadrante = "-",
  ni = sum(TDF_Capital_Cuadrante_Base$ni),
  hi = sum(TDF_Capital_Cuadrante_Base$hi)
)

sumatoria_capital_cuadrante$hi <- 100.00


TDF_Capital_Cuadrante_Suma <- rbind(TDF_Capital_Cuadrante_Base, sumatoria_capital_cuadrante)

colnames(TDF_Capital_Cuadrante_Suma) <- c("Capital", "Cuadrante Geográfico", "Frecuencia Absoluta (ni)", "Frecuencia Relativa (hi %)")

kable(TDF_Capital_Cuadrante_Suma, align = "c",
      caption = "Tabla N.° 2: Distribución de frecuencia global por Capital y su respectivo Cuadrante Geográfico para el análisis meteorológico (Período: Mayo 2024 - Mayo 2026)") %>%
  kable_styling(full_width = TRUE, position = "center",
                bootstrap_options = c("striped", "hover", "condensed", "responsive")) |>

  row_spec(0, bold = TRUE, color = "white", background = "#2C3E50") |>

  row_spec(nrow(TDF_Capital_Cuadrante_Suma), bold = TRUE, background = "#EAEDED") |>

  footnote(general = "Fuente: Global Weather Repository,(https://www.kaggle.com/datasets/nelgiriyewithana/global-weather-repository).",
           general_title = "Grupo 2: ",
           footnote_as_chunk = TRUE,
           title_format = c("italic", "bold"))
Tabla N.° 2: Distribución de frecuencia global por Capital y su respectivo Cuadrante Geográfico para el análisis meteorológico (Período: Mayo 2024 - Mayo 2026)
Capital Cuadrante Geográfico Frecuencia Absoluta (ni) Frecuencia Relativa (hi %)
Accra Norte - Oeste 729 0.51
Amman Norte - Este 729 0.51
Asmara Norte - Este 729 0.51
Baghdad Norte - Este 729 0.51
Bern Norte - Este 729 0.51
Bujumbura Sur - Este 729 0.51
Dakar Norte - Oeste 729 0.51
Kabul Norte - Este 729 0.51
Kyiv Norte - Este 729 0.51
Malabo Norte - Este 729 0.51
N’djamena Norte - Este 729 0.51
Nan Norte - Este 729 0.51
Sanaa Norte - Este 729 0.51
Suva Sur - Este 729 0.51
Tashkent Norte - Este 729 0.51
Tokyo Norte - Este 729 0.51
Valletta Norte - Este 729 0.51
Vatican City Norte - Este 729 0.51
Warsaw Norte - Este 729 0.51
Abu Dhabi Norte - Este 728 0.51
Abuja Norte - Este 728 0.51
Amsterdam Norte - Este 728 0.51
Andorra La Vella Norte - Este 728 0.51
Antananarivo Sur - Este 728 0.51
Beirut Norte - Este 728 0.51
Belgrade Norte - Este 728 0.51
Berlin Norte - Este 728 0.51
Bratislava Norte - Este 728 0.51
Budapest Norte - Este 728 0.51
Colombo Norte - Este 728 0.51
Funafuti Sur - Este 728 0.51
Gaborone Sur - Este 728 0.51
Helsinki Norte - Este 728 0.51
Honiara Sur - Este 728 0.51
Jakarta Sur - Este 728 0.51
Kampala Norte - Este 728 0.51
Kigali Sur - Este 728 0.51
Lilongwe Sur - Este 728 0.51
Ljubljana Norte - Este 728 0.51
Luanda Sur - Este 728 0.51
Lusaka Sur - Este 728 0.51
Madrid Norte - Oeste 728 0.51
Majuro Norte - Este 728 0.51
Manama Norte - Este 728 0.51
Maputo Sur - Este 728 0.51
Moscow Norte - Este 728 0.51
Muscat Norte - Este 728 0.51
Nairobi Sur - Este 728 0.51
Niamey Norte - Este 728 0.51
Nicosia Norte - Este 728 0.51
Ouagadougou Norte - Oeste 728 0.51
Port Moresby Sur - Este 728 0.51
Port Vila Sur - Este 728 0.51
Praia Norte - Oeste 728 0.51
Pretoria Sur - Este 728 0.51
Rome Norte - Este 728 0.51
Sarajevo Norte - Este 728 0.51
Singapore Norte - Este 728 0.51
Vienna Norte - Este 728 0.51
Windhoek Sur - Este 728 0.51
Yerevan Norte - Este 728 0.51
Ashgabat Norte - Este 727 0.51
Astana Norte - Este 727 0.51
Baku Norte - Este 727 0.51
Bamako Norte - Oeste 727 0.51
Bangkok Norte - Este 727 0.51
Bangui Norte - Este 727 0.51
Bishkek Norte - Este 727 0.51
Bissau Norte - Oeste 727 0.51
Brussels Norte - Este 727 0.51
Canberra Sur - Este 727 0.51
Castries Norte - Oeste 727 0.51
Conakry Norte - Oeste 727 0.51
Copenhagen Norte - Este 727 0.51
Damascus Norte - Este 727 0.51
Dhaka Norte - Este 727 0.51
Dodoma Sur - Este 727 0.51
Hanoi Norte - Este 727 0.51
Jerusalem Norte - Este 727 0.51
Kathmandu Norte - Este 727 0.51
Kuala Lumpur Norte - Este 727 0.51
Laos Sur - Este 727 0.51
Libreville Norte - Este 727 0.51
Lisbon Norte - Oeste 727 0.51
Minsk Norte - Este 727 0.51
Monrovia Norte - Oeste 727 0.51
Montevideo Sur - Oeste 727 0.51
Moroni Sur - Este 727 0.51
New Delhi Norte - Este 727 0.51
Nouakchott Norte - Oeste 727 0.51
Paris Norte - Este 727 0.51
Port Louis Sur - Este 727 0.51
Porto-Novo Norte - Este 727 0.51
Riga Norte - Este 727 0.51
Riyadh Norte - Este 727 0.51
Seoul Norte - Este 727 0.51
Sofia Norte - Este 727 0.51
Stockholm Norte - Este 727 0.51
Tallinn Norte - Este 727 0.51
Tarawa Sur - Este 727 0.51
Tehran Norte - Este 727 0.51
Tirana Norte - Este 727 0.51
Ulaanbaatar Norte - Este 727 0.51
Vaduz Norte - Este 727 0.51
Vilnius Norte - Este 727 0.51
Wellington Sur - Este 727 0.51
Yaren Norte - Este 727 0.51
Addis Ababa Norte - Este 726 0.51
Algiers Norte - Este 726 0.51
Ankara Norte - Este 726 0.51
Bandar Seri Begawan Norte - Este 726 0.51
Basseterre Norte - Oeste 726 0.51
Bogot Norte - Este 726 0.51
Brazzaville Sur - Este 726 0.51
Bridgetown Norte - Oeste 726 0.51
Bucharest Norte - Este 726 0.51
Buenos Aires Sur - Oeste 726 0.51
Cairo Norte - Este 726 0.51
Caracas Norte - Oeste 726 0.51
Djibouti Norte - Este 726 0.51
Doha Norte - Este 726 0.51
Dublin Norte - Oeste 726 0.51
Dushanbe Norte - Este 726 0.51
Harare Sur - Este 726 0.51
Islamabad Norte - Este 726 0.51
Juba Norte - Este 726 0.51
Khartoum Norte - Este 726 0.51
Kingstown Norte - Oeste 726 0.51
Kinshasa Sur - Este 726 0.51
Kuwait City Norte - Este 726 0.51
London Norte - Oeste 726 0.51
Luxembourg Norte - Este 726 0.51
Manila Norte - Este 726 0.51
Maseru Sur - Este 726 0.51
Mbabane Sur - Este 726 0.51
Mogadishu Norte - Este 726 0.51
Oslo Norte - Este 726 0.51
Ottawa Norte - Oeste 726 0.51
Palikir Norte - Este 726 0.51
Phnom Penh Norte - Este 726 0.51
Podgorica Norte - Este 726 0.51
Prague Norte - Este 726 0.51
Pyongyang Norte - Este 726 0.51
Rabat Norte - Oeste 726 0.51
Thimphu Norte - Este 726 0.51
Tunis Norte - Este 726 0.51
Victoria Sur - Este 726 0.51
Banjul Norte - Oeste 725 0.51
Beijing Norte - Este 725 0.51
Dili Sur - Este 725 0.51
Freetown Norte - Oeste 725 0.51
Monaco Norte - Este 725 0.51
Nuku`Aloia Sur - Oeste 725 0.51
Panama City Norte - Oeste 725 0.51
Paramaribo Norte - Oeste 725 0.51
Port Of Spain Norte - Oeste 725 0.51
Port-Au-Prince Norte - Oeste 725 0.51
San Marino Norte - Este 725 0.51
Santiago Sur - Oeste 725 0.51
Santo Domingo Norte - Oeste 725 0.51
Tbilisi Norte - Este 725 0.51
Zagreb Norte - Este 725 0.51
Athens Norte - Este 724 0.51
Georgetown Norte - Oeste 724 0.51
Havana Norte - Oeste 724 0.51
Roseau Norte - Oeste 724 0.51
Saint John’s Norte - Oeste 724 0.51
Belmopan Norte - Oeste 723 0.51
Bras Sur - Oeste 723 0.51
Lima Sur - Oeste 723 0.51
Mexico City Norte - Oeste 723 0.51
Nassau Norte - Oeste 723 0.51
National Sur - Oeste 723 0.51
Quito Sur - Oeste 723 0.51
Saint George’s Norte - Oeste 723 0.51
Skopje Norte - Este 723 0.51
Tegucigalpa Norte - Oeste 723 0.51
Apia Sur - Oeste 722 0.51
Managua Norte - Oeste 722 0.51
Sucre Sur - Oeste 722 0.51
Guatemala City Norte - Oeste 721 0.51
San Salvador Norte - Oeste 721 0.51
Washington Harbor Norte - Oeste 703 0.50
Dhidhdhoo Norte - Este 690 0.49
Chi Chi Khvar Norte - Este 685 0.48
Ivory Sur - Este 458 0.32
San Ignacio Norte - Oeste 439 0.31
’S Gravenjansdijk Norte - Este 431 0.30
Ngaoundere Norte - Este 424 0.30
Vestmannaeyjar Norte - Oeste 424 0.30
Yangon Norte - Este 424 0.30
Aurora Sur - Oeste 423 0.30
Port Royal Norte - Oeste 420 0.30
Ban Lom Norte - Este 411 0.29
Airai Norte - Este 371 0.26
Koror Norte - Este 320 0.23
Lom Norte - Este 315 0.22
Rangoon Norte - Este 288 0.20
Douala Norte - Este 269 0.19
Kingston Norte - Oeste 269 0.19
Yamoussoukro Norte - Oeste 267 0.19
Reykjavik Norte - Oeste 266 0.19
San Jose Norte - Oeste 266 0.19
’S-Gravenbrakel Norte - Este 178 0.13
Aguaray Sur - Oeste 178 0.13
Garrapata Sur - Oeste 65 0.05
S-Chanf Norte - Este 48 0.03
S. Manian Norte - Este 42 0.03
Chi-Chi-Erh Norte - Este 41 0.03
Grindavik Norte - Oeste 36 0.03
Norman Gardens Norte - Oeste 36 0.03
Felidhoo Norte - Este 34 0.02
Carreria Sur - Oeste 25 0.02
Pasto Sur - Oeste 25 0.02
Adkip Norte - Este 20 0.01
Bafoussam Norte - Este 18 0.01
’S Gravenstaffel Norte - Este 16 0.01
Meyungs Norte - Este 16 0.01
Pathein Norte - Este 16 0.01
San Juan Norte - Oeste 16 0.01
Washington Park Norte - Oeste 16 0.01
Yaounde Norte - Este 16 0.01
’S Gravenjansdyk Norte - Este 12 0.01
Sartorio Sur - Oeste 10 0.01
-Kingdom Norte - Este 1 0.00
Addis Abeba Norte - Este 1 0.00
Ar Riyadh Norte - Este 1 0.00
Asuncion Sur - Oeste 1 0.00
Bali Sur - Este 1 0.00
Beijing Shi Norte - Este 1 0.00
Bogota Norte - Oeste 1 0.00
City Of San Marino Norte - Este 1 0.00
Costa Rica Norte - Oeste 1 0.00
Grenada Norte - Oeste 1 0.00
Ho Chi Minh City Norte - Este 1 0.00
Ivory Ivory Ban Norte - Este 1 0.00
Kiyabo Norte - Este 1 0.00
Krasnyy Turkmenistan Norte - Este 1 0.00
Kuwait Norte - Este 1 0.00
Lome Norte - Este 1 0.00
Male Norte - Este 1 0.00
Melbourne Sur - Este 1 0.00
Mexico (Grupo Mexico) Norte - Oeste 1 0.00
Moldova Norte - Este 1 0.00
Mombasa Sur - Este 1 0.00
Morocco City Norte - Oeste 1 0.00
Moroni Norte - Oeste 1 0.00
New Guatemala Norte - Oeste 1 0.00
New York Norte - Oeste 1 0.00
Nuku’alofa Sur - Oeste 1 0.00
Palau Norte - Este 1 0.00
Phnum Penh Norte - Este 1 0.00
Pristina Norte - Este 1 0.00
Saint Petersburg Norte - Este 1 0.00
Sao Paulo Sur - Oeste 1 0.00
Surabaya Sur - Este 1 0.00
Tripoli Norte - Este 1 0.00
Vientiane Norte - Este 1 0.00
TOTAL
141703 100.00
Grupo 2: Fuente: Global Weather Repository,(https://www.kaggle.com/datasets/nelgiriyewithana/global-weather-repository).
Tabla 3
TDF_Cuadrantes_Base <- variables %>%

  filter(!is.na(latitude) & !is.na(longitude)) %>%
  mutate(
    Cuadrante = case_when(
      latitude >= 0 & longitude >= 0 ~ "Norte - Este",
      latitude >= 0 & longitude < 0  ~ "Norte - Oeste",
      latitude < 0  & longitude >= 0 ~ "Sur - Este",
      latitude < 0  & longitude < 0  ~ "Sur - Oeste",
      TRUE                           ~ "No Clasificado"
    )
  ) %>%
 
  group_by(Cuadrante) %>%
  summarise(ni = n(), .groups = "drop") %>%

  mutate(hi = round((ni / sum(ni)) * 100, 2)) %>%
  arrange(desc(ni))
sumatoria_cuadrante <- data.frame(
  Cuadrante = "TOTAL",
  ni = sum(TDF_Cuadrantes_Base$ni),
  hi = sum(TDF_Cuadrantes_Base$hi)
)
TDF_Cuadrantes_Suma <- rbind(TDF_Cuadrantes_Base, sumatoria_cuadrante)

colnames(TDF_Cuadrantes_Suma) <- c("Cuadrante Geográfico (Capitales)", "Frecuencia Absoluta (ni)", "Frecuencia Relativa (hi %)")

kable(TDF_Cuadrantes_Suma, align = "c", 
      caption = "Tabla N.° 3: Distribución de frecuencia global por cuadrante geográfico para el análisis meteorológico (Período: Mayo 2024 - Mayo 2026)") %>%
  kable_styling(full_width = TRUE, position = "center",
                bootstrap_options = c("striped", "hover", "condensed", "responsive")) %>%
  row_spec(0, bold = TRUE, color = "white", background = "#2C3E50") %>% 
  row_spec(nrow(TDF_Cuadrantes_Suma), bold = TRUE, background = "#EAEDED") %>% 
  footnote(general = "Fuente: Global Weather Repository, https://www.kaggle.com/datasets/nelgiriyewithana/global-weather-repository.",
           general_title = "Grupo 2: ",
           footnote_as_chunk = TRUE,
           title_format = c("italic", "bold"))
Tabla N.° 3: Distribución de frecuencia global por cuadrante geográfico para el análisis meteorológico (Período: Mayo 2024 - Mayo 2026)
Cuadrante Geográfico (Capitales) Frecuencia Absoluta (ni) Frecuencia Relativa (hi %)
Norte - Este 79270 55.94
Norte - Oeste 31455 22.20
Sur - Este 23010 16.24
Sur - Oeste 7968 5.62
TOTAL 141703 100.00
Grupo 2: Fuente: Global Weather Repository, https://www.kaggle.com/datasets/nelgiriyewithana/global-weather-repository.

5.-Gráficos

5.1.- Diagrama de barras por cuadrante geográfico de capitales

ggplot(TDF_Cuadrantes_Base, aes(x = reorder(Cuadrante, -ni), y = ni)) +
  geom_col(fill = "palegreen2", color = "black", width = 0.6) + 
  geom_text(aes(label = scales::comma(ni)), vjust = -0.5, fontface = "bold", size = 4) +
  scale_y_continuous(labels = scales::comma, limits = c(0, 85000)) +
  labs(
    title =                    "Gráfica N.1: Cantidad de registros por 
    cuadrante geográfico observada de la tabla 3 (Período: Mayo 2024 - 
    Mayo 2026)",
    x = "Cuadrante Geográfico",
    y = "Cantidad de Registros (ni)") +
  theme_bw() + 
  theme(
    plot.title = element_text(face = "bold", hjust = 0.5, size = 13),
    axis.title.x = element_text(size = 11),
    axis.title.y = element_text(size = 11),
    axis.text = element_text(size = 10),
    panel.grid.major.x = element_blank(), 
    panel.grid.minor = element_blank()
  )

## 5.2.- Diagrama de barras porcentual de las capitales por cuadrante geográfico

ggplot(TDF_Cuadrantes_Base, aes(x = reorder(Cuadrante, -ni), y = hi)) +
  geom_col(fill = "palegreen2", color = "black", width = 0.6) +
  geom_text(aes(label = paste0(hi, "%")), vjust = -0.5, fontface = "bold", size = 4) +
  scale_y_continuous(limits = c(0, 65)) +
  labs(
    title = "Gráfica N.2: Distribución porcentual de las capitales por cuadrante geográfico
(Período: Mayo 2024 - Mayo 2026)",
    x = "Cuadrante Geográfico",
    y = "Porcentaje del Total (hi %)"
  ) +
  theme_bw() +
  theme(
    plot.title = element_text(face = "bold", hjust = 0.5, size = 13),
    axis.title.x = element_text(size = 11),
    axis.title.y = element_text(size = 11),
    axis.text = element_text(size = 10),
    panel.grid.major.x = element_blank(),
    panel.grid.minor = element_blank()
  )

5.3.- Diagrama de barras general

ggplot(TDF_Cuadrantes_Base, aes(x = reorder(Cuadrante, -ni), y = ni)) +
  geom_col(fill = "palegreen2", color = "black", width = 0.6) + 
  geom_text(aes(label = scales::comma(ni)), vjust = -0.5, fontface = "bold", size = 4) +
 # Control del eje 
  scale_y_continuous(
    limits = c(0, 141703), 
    breaks = seq(0, 141703, by = 20000), 
    labels = scales::comma
  ) +
  labs(
    title = "Gráfica N.3: Cantidad de registros por cuadrante geográfico
    observada de la tabla 3 con relación al tamaño muestral para el el
    análisis meteorológico (Período: Mayo 2024 - Mayo 2026) ",
    x = "Cuadrante Geográfico",
    y = "Cantidad de Registros (ni)"
  ) +
  theme_bw() + 
  theme(
    plot.title = element_text(face = "bold", hjust = 0.5, size = 13),
    axis.title.x = element_text(size = 11, face = "bold"),
    axis.title.y = element_text(size = 11, face = "bold"),
    axis.text = element_text(size = 10),
    panel.grid.major.x = element_blank(), 
    panel.grid.minor = element_blank()) 

5.4.- Diagrama de barras porcentual general

ggplot(TDF_Cuadrantes_Base, aes(x = reorder(Cuadrante, -hi), y = hi)) +
  geom_bar(stat = "identity", fill = "palegreen2", color = "black", width = 0.6) +
  geom_text(aes(label = paste0(hi, "%")), vjust = -0.5, size = 4, fontface = "bold") +
  
  # Control del eje 
  scale_y_continuous(
    limits = c(0, 100),
    breaks = seq(0, 100, by = 10)
  ) +
  labs(
    title = "Gráfica N.4: Distribución Porcentual por cuadrante geográfico
    mundial recopilados en la tabla 3 para su respectivo análisis meteorológico 
    (Período: Mayo 2024 - Mayo 2026)",
    x = "Cuadrante Geográfico",
    y = "Porcentaje del Total (hi %)"
  ) +
  theme_bw(base_size = 12) +
  theme(
    plot.title = element_text(face = "bold", size = 14, hjust = 0.5),
    axis.title.x = element_text(face = "bold", size = 11),
    axis.title.y = element_text(face = "bold", size = 11),
    axis.text = element_text(size = 10, face = "bold"),
    panel.grid.major.x = element_blank(), 
    panel.grid.minor = element_blank()  
  )

5.5.- Gráfica circular

TDF_Cuadrantes_Grafico <- TDF_Cuadrantes_Base %>%
  arrange(desc(Cuadrante)) %>%
  mutate(posicion_texto = cumsum(hi) - 0.5 * hi)

ggplot(TDF_Cuadrantes_Grafico, aes(x = "", y = hi, fill = Cuadrante)) +
  geom_bar(stat = "identity", width = 1, color = "black") +
  coord_polar("y", start = 0) +
  geom_text(aes(y = posicion_texto, label = paste0(hi, "%")), size = 4.5, fontface = "bold") +
  scale_fill_manual(values = c(
    "Sur - Oeste"  <- "#FFFFB3",
    "Norte - Oeste" <- "#D95F02",
    "Sur - Este"   <- "#33A02C",
    "Norte - Este" <- "#1F78B4"
  )) +
  labs(
 title = "                      Gráfica N.5: Distribución porcentual de las
 capitales por cuadrante geográfico 
    mundial con respecto al 100% del tamaño muestral desde mayo del 2024 a 
    mayo del 2026",
    fill = "Cuadrante Geográfico"
  ) +
  theme_void(base_size = 12) +
  theme(
    plot.title = element_text(face = "bold", size = 14, hjust = 0.5),
    legend.position = "right",
    legend.title = element_text(face = "bold")
  )

6.- Indicadores de frecuencia

# 1. Extraccion de la frecuencia maxima
frecuencia_max_cuad <- max(TDF_Capital_Cuadrante_Base$ni)

# 2. Identificar que cuadrante tienen esa frecuencia maxima
modas_cuadrantes <- TDF_Capital_Cuadrante_Base$Cuadrante[TDF_Capital_Cuadrante_Base$ni == frecuencia_max_cuad]

# 3. Guardar SOLO la primera moda para evitar que colapse el diseño de la tabla
Mo_cuadrante <- unique(modas_cuadrantes)[2]

# 4. Construccion de la tabla usando guiones simples (evita los puntos negros)
tabla_indicadores_cuadrante <- data.frame(
  "Variable"         = c("Capital"),
  "Rango"            = c("-"),
  "X"                = c("-"),
  "Me"               = c("-"),
  "Mo"               = c(Mo_cuadrante),     
  "V"                = c("-"),
  "Sd"               = c("-"),
  "Cv"               = c("-"),
  "As"               = c("-"),
  "K"                = c("-"),
  "Valores_Atipicos" = c("No hay valores atipicos")
)

# 5. Renderizado limpio con kableExtra
kable(tabla_indicadores_cuadrante, align = 'c',       
      caption = "Tabla Nro. 5: Indicadores estadisticos de la variable Capital, seleccionadas por Cuadrante Geografico (Periodo: Mayo 2024 - Mayo 2026)") %>%
  kable_styling(full_width = TRUE, position = "center",                
                bootstrap_options = c("striped", "hover", "condensed", "responsive")) %>%  
  row_spec(0, bold = TRUE, color = "white", background = "#2C3E50") %>%   
  footnote(general = "Fuente: Global Weather Repository, (https://www.kaggle.com/datasets/nelgiriyewithana/global-weather-repository).",           
           general_title = "Grupo 2: ",           
           footnote_as_chunk = TRUE,           
           title_format = c("italic", "bold"))
Tabla Nro. 5: Indicadores estadisticos de la variable Capital, seleccionadas por Cuadrante Geografico (Periodo: Mayo 2024 - Mayo 2026)
Variable Rango X Me Mo V Sd Cv As K Valores_Atipicos
Capital
Norte - Este
No hay valores atipicos
Grupo 2: Fuente: Global Weather Repository, (https://www.kaggle.com/datasets/nelgiriyewithana/global-weather-repository).

7.- Conclusiones

los mismos moda que se obtuvieron en la variable país se observa lo mismo aqui ya que estas son sus capitales