setwd("C:/Users/USUARIO/Documents/2024-1/Estadística 2 teoría/Ejercicios extra magallanes")
library(rio)
## Warning: package 'rio' was built under R version 4.3.3
broadband=import("Broadband.csv")
e_carbon=import("Carbon dioxide emissions.csv")
p_debt=import("Public debt.csv")
tcellular=import("Telephones - mobile cellular.csv")
e_debt=import("Debt external.csv")
electricity=import("Electricity.csv")
energy_perc=import("Energy per cap.csv")
inflation_rate=import("Inflation rate.csv")
r_petroleum=import("Refined petroleum products.csv")
tfixed_lines=import("Telephones - fixed lines.csv")
y_emp_rate=import("Youth unemployment rate.csv")
rename_columns <- function(df, conjunto) {
  colnames(df)[1] <- "Country"
  colnames(df)[2] <- conjunto
  return(df)
}

broadband <- rename_columns(broadband, "Broadband")
e_carbon <- rename_columns(e_carbon, "CarbonDioxideEmissions")
p_debt <- rename_columns(p_debt, "PublicDebt")
tcellular <- rename_columns(tcellular, "MobileCellular")
e_debt <- rename_columns(e_debt, "ExternalDebt")
electricity <- rename_columns(electricity, "Electricity")
energy_perc <- rename_columns(energy_perc, "EnergyPerCapita")
inflation_rate <- rename_columns(inflation_rate, "InflationRate")
r_petroleum <- rename_columns(r_petroleum, "RefinedPetroleumProducts")
tfixed_lines <- rename_columns(tfixed_lines, "FixedLines")
y_emp_rate <- rename_columns(y_emp_rate, "YouthUnemploymentRate")
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.3.3
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
broadband <- broadband %>% select(Country, Broadband)
e_carbon <- e_carbon %>% select(Country, CarbonDioxideEmissions)
p_debt <- p_debt %>% select(Country, PublicDebt)
tcellular <- tcellular %>% select(Country, MobileCellular)
e_debt <- e_debt %>% select(Country, ExternalDebt)
electricity <- electricity %>% select(Country, Electricity)
energy_perc <- energy_perc %>% select(Country, EnergyPerCapita)
inflation_rate <- inflation_rate %>% select(Country, InflationRate)
r_petroleum <- r_petroleum %>% select(Country, RefinedPetroleumProducts)
tfixed_lines <- tfixed_lines %>% select(Country, FixedLines)
y_emp_rate <- y_emp_rate %>% select(Country, YouthUnemploymentRate)
DATA <- list(broadband, e_carbon, p_debt, tcellular, e_debt, electricity, energy_perc, inflation_rate, r_petroleum, tfixed_lines, y_emp_rate)

merged_data <- Reduce(function(x, y) {
  merge(x, y, by = "Country", all = TRUE)
}, DATA)
merged_data$Country <- as.character(merged_data$Country)
merged_data$Broadband <- as.numeric(merged_data$Broadband)
## Warning: NAs introducidos por coerción
merged_data$CarbonDioxideEmissions <- as.numeric(merged_data$CarbonDioxideEmissions)
## Warning: NAs introducidos por coerción
merged_data$PublicDebt <- as.numeric(merged_data$PublicDebt)
## Warning: NAs introducidos por coerción
merged_data$MobileCellular <- as.numeric(merged_data$MobileCellular)
## Warning: NAs introducidos por coerción
merged_data$ExternalDebt <- as.numeric(merged_data$ExternalDebt)
## Warning: NAs introducidos por coerción
merged_data$Electricity <- as.numeric(merged_data$Electricity)
## Warning: NAs introducidos por coerción
merged_data$EnergyPerCapita <- as.numeric(merged_data$EnergyPerCapita)
## Warning: NAs introducidos por coerción
merged_data$InflationRate <- as.numeric(merged_data$InflationRate)
## Warning: NAs introducidos por coerción
merged_data$RefinedPetroleumProducts <- as.numeric(merged_data$RefinedPetroleumProducts)
## Warning: NAs introducidos por coerción
merged_data$FixedLines <- as.numeric(merged_data$FixedLines)
## Warning: NAs introducidos por coerción
merged_data$YouthUnemploymentRate <- as.numeric(merged_data$YouthUnemploymentRate)
## Warning: NAs introducidos por coerción
head(merged_data)
##          Country Broadband CarbonDioxideEmissions PublicDebt MobileCellular
## 1    Afghanistan        NA                     NA         NA             NA
## 2        Albania        NA                     NA         NA             NA
## 3        Algeria        NA                     NA         NA             NA
## 4 American Samoa        NA                     NA         NA             NA
## 5        Andorra        NA                     NA         NA             NA
## 6         Angola        NA                     NA         NA             NA
##   ExternalDebt Electricity EnergyPerCapita InflationRate
## 1           NA          NA              NA            NA
## 2           NA          NA              NA            NA
## 3           NA          NA              NA            NA
## 4           NA          NA              NA            NA
## 5           NA          NA              NA            NA
## 6           NA          NA              NA            NA
##   RefinedPetroleumProducts FixedLines YouthUnemploymentRate
## 1                       NA         NA                    NA
## 2                       NA         NA                    NA
## 3                       NA         NA                    NA
## 4                       NA         NA                    NA
## 5                       NA         NA                    NA
## 6                       NA         NA                    NA
head(broadband)
##         Country     Broadband
## 1         China         china
## 2 United States united-states
## 3         Japan         japan
## 4        Brazil        brazil
## 5       Germany       germany
## 6        Russia        russia
head(e_carbon)
##         Country CarbonDioxideEmissions
## 1         China                  china
## 2 United States          united-states
## 3         India                  india
## 4        Russia                 russia
## 5         Japan                  japan
## 6       Germany                germany
head(p_debt)
##          Country     PublicDebt
## 1         Greece         greece
## 2          Japan          japan
## 3 United Kingdom united-kingdom
## 4      Singapore      singapore
## 5        Lebanon        lebanon
## 6       Barbados       barbados
head(tcellular)
##         Country MobileCellular
## 1         China          china
## 2         India          india
## 3 United States  united-states
## 4     Indonesia      indonesia
## 5        Russia         russia
## 6       Nigeria        nigeria
head(e_debt)
##          Country   ExternalDebt
## 1  United States  united-states
## 2 United Kingdom united-kingdom
## 3         France         france
## 4        Germany        germany
## 5    Netherlands    netherlands
## 6     Luxembourg     luxembourg
head(electricity)
##         Country   Electricity
## 1         China         china
## 2 United States united-states
## 3         India         india
## 4         Japan         japan
## 5        Russia        russia
## 6       Germany       germany
head(energy_perc)
##                Country      EnergyPerCapita
## 1                Qatar                qatar
## 2            Singapore            singapore
## 3              Bahrain              bahrain
## 4 United Arab Emirates united-arab-emirates
## 5               Brunei               brunei
## 6               Canada               canada
head(inflation_rate)
##          Country  InflationRate
## 1    South Sudan    south-sudan
## 2        Andorra        andorra
## 3       Dominica       dominica
## 4 American Samoa american-samoa
## 5  Liechtenstein  liechtenstein
## 6  Faroe Islands  faroe-islands
head(r_petroleum)
##         Country RefinedPetroleumProducts
## 1 United States            united-states
## 2         China                    china
## 3        Russia                   russia
## 4         India                    india
## 5         Japan                    japan
## 6  Korea, South              korea-south
head(tfixed_lines)
##          Country     FixedLines
## 1          China          china
## 2  United States  united-states
## 3          Japan          japan
## 4        Germany        germany
## 5         France         france
## 6 United Kingdom united-kingdom
head(y_emp_rate)
##        Country YouthUnemploymentRate
## 1     Djibouti              djibouti
## 2 South Africa          south-africa
## 3     Eswatini              eswatini
## 4        Libya                 libya
## 5       Kosovo                kosovo
## 6   Costa Rica            costa-rica
library(readr)
## Warning: package 'readr' was built under R version 4.3.3
limpio <- function(column) {
  numeric_column <- parse_number(column)
  
  na_count <- sum(is.na(numeric_column))
  if (na_count > 0) {
    cat("La columna contiene", na_count, "valores que no se pudieron convertir a numéricos.\n")
    non_numeric_values <- column[is.na(numeric_column)]
    cat("valores no numéricos:\n")
    print(head(non_numeric_values))
  }
  
  return(numeric_column)
}
print(class(merged_data$Broadband))
## [1] "numeric"
print(class(merged_data$CarbonDioxideEmissions))
## [1] "numeric"
print(class(merged_data$PublicDebt))
## [1] "numeric"
print(class(merged_data$MobileCellular))
## [1] "numeric"
print(class(merged_data$ExternalDebt))
## [1] "numeric"
print(class(merged_data$Electricity))
## [1] "numeric"
print(class(merged_data$EnergyPerCapita))
## [1] "numeric"
print(class(merged_data$InflationRate))
## [1] "numeric"
print(class(merged_data$RefinedPetroleumProducts))
## [1] "numeric"
print(class(merged_data$FixedLines))
## [1] "numeric"
print(class(merged_data$YouthUnemploymentRate))
## [1] "numeric"
for (col in colnames(merged_data)) {
  if (class(merged_data[[col]]) == "character") {
    merged_data[[col]] <- limpio(merged_data[[col]])
  }
}
## Warning: 231 parsing failures.
## row col expected         actual
##   1  -- a number Afghanistan   
##   2  -- a number Albania       
##   3  -- a number Algeria       
##   4  -- a number American Samoa
##   5  -- a number Andorra       
## ... ... ........ ..............
## See problems(...) for more details.
## La columna contiene 231 valores que no se pudieron convertir a numéricos.
## valores no numéricos:
## [1] "Afghanistan"    "Albania"        "Algeria"        "American Samoa"
## [5] "Andorra"        "Angola"
head(merged_data)
##   Country Broadband CarbonDioxideEmissions PublicDebt MobileCellular
## 1      NA        NA                     NA         NA             NA
## 2      NA        NA                     NA         NA             NA
## 3      NA        NA                     NA         NA             NA
## 4      NA        NA                     NA         NA             NA
## 5      NA        NA                     NA         NA             NA
## 6      NA        NA                     NA         NA             NA
##   ExternalDebt Electricity EnergyPerCapita InflationRate
## 1           NA          NA              NA            NA
## 2           NA          NA              NA            NA
## 3           NA          NA              NA            NA
## 4           NA          NA              NA            NA
## 5           NA          NA              NA            NA
## 6           NA          NA              NA            NA
##   RefinedPetroleumProducts FixedLines YouthUnemploymentRate
## 1                       NA         NA                    NA
## 2                       NA         NA                    NA
## 3                       NA         NA                    NA
## 4                       NA         NA                    NA
## 5                       NA         NA                    NA
## 6                       NA         NA                    NA

caracter_cols <- sapply(DATA, is.character)

for (col in names(DATA)[caracter_cols]) { DATA[[col]] <- limpio(DATA[[col]])