Carga en R el CSV de la web /CURSOS1/R STUDIO/r-basic-master/data/medals.csv y responde a las siguientes preguntas.
# Cargar el paquete readr
install.packages("readr")
## package 'readr' successfully unpacked and MD5 sums checked
##
## The downloaded binary packages are in
## C:\Users\Belisario\AppData\Local\Temp\Rtmp2LDyga\downloaded_packages
library(readr)
# Especificar la ruta local del archivo CSV
file_path <- ("~/CURSOS1/R STUDIO/r-basic-master/data/medals.csv")
# Cargar el archivo CSV desde la ruta local
medals_data <- read_csv("~/CURSOS1/R STUDIO/r-basic-master/data/medals.csv")
# Ver las primeras 10 filas del dataframe
head(medals_data, 10)
## # A tibble: 10 × 9
## ...1 Year City Sport Discipline NOC Event Event.gender Medal
## <dbl> <dbl> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
## 1 1 1924 Chamonix Skating Figure skating AUT indi… M Silv…
## 2 2 1924 Chamonix Skating Figure skating AUT indi… W Gold
## 3 3 1924 Chamonix Skating Figure skating AUT pairs X Gold
## 4 4 1924 Chamonix Bobsleigh Bobsleigh BEL four… M Bron…
## 5 5 1924 Chamonix Ice Hockey Ice Hockey CAN ice … M Gold
## 6 6 1924 Chamonix Biathlon Biathlon FIN mili… M Silv…
## 7 7 1924 Chamonix Skating Figure skating FIN pairs X Silv…
## 8 8 1924 Chamonix Skating Speed skating FIN 1000… M Gold
## 9 9 1924 Chamonix Skating Speed skating FIN 1000… M Silv…
## 10 10 1924 Chamonix Skating Speed skating FIN 1500m M Gold
#Para realizar un resumen estadistico del DATAFRAME en GENERAL
head(medals_data)
## # A tibble: 6 × 9
## ...1 Year City Sport Discipline NOC Event Event.gender Medal
## <dbl> <dbl> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
## 1 1 1924 Chamonix Skating Figure skating AUT indiv… M Silv…
## 2 2 1924 Chamonix Skating Figure skating AUT indiv… W Gold
## 3 3 1924 Chamonix Skating Figure skating AUT pairs X Gold
## 4 4 1924 Chamonix Bobsleigh Bobsleigh BEL four-… M Bron…
## 5 5 1924 Chamonix Ice Hockey Ice Hockey CAN ice h… M Gold
## 6 6 1924 Chamonix Biathlon Biathlon FIN milit… M Silv…
summary(medals_data)
## ...1 Year City Sport
## Min. : 1.0 Min. :1924 Length:2311 Length:2311
## 1st Qu.: 578.5 1st Qu.:1968 Class :character Class :character
## Median :1156.0 Median :1988 Mode :character Mode :character
## Mean :1156.0 Mean :1980
## 3rd Qu.:1733.5 3rd Qu.:1998
## Max. :2311.0 Max. :2006
## Discipline NOC Event Event.gender
## Length:2311 Length:2311 Length:2311 Length:2311
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
## Medal
## Length:2311
## Class :character
## Mode :character
##
##
##
# Verifica si hay valores faltantes en el dataframe:
colSums(is.na(medals_data))
## ...1 Year City Sport Discipline NOC
## 0 0 0 0 0 0
## Event Event.gender Medal
## 0 0 0
# Ver las últimas 10 filas del dataframe
tail(medals_data, 10)
## # A tibble: 10 × 9
## ...1 Year City Sport Discipline NOC Event Event.gender Medal
## <dbl> <dbl> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
## 1 2302 2006 Turin Skiing Alpine Skiing USA Alpine comb… M Gold
## 2 2303 2006 Turin Skiing Alpine Skiing USA giant slalom W Gold
## 3 2304 2006 Turin Skiing Freestyle Ski. USA moguls M Bron…
## 4 2305 2006 Turin Skiing Snowboard USA Giant paral… W Bron…
## 5 2306 2006 Turin Skiing Snowboard USA Half-pipe M Gold
## 6 2307 2006 Turin Skiing Snowboard USA Half-pipe M Silv…
## 7 2308 2006 Turin Skiing Snowboard USA Half-pipe W Gold
## 8 2309 2006 Turin Skiing Snowboard USA Half-pipe W Silv…
## 9 2310 2006 Turin Skiing Snowboard USA Snowboard C… M Gold
## 10 2311 2006 Turin Skiing Snowboard USA Snowboard C… W Silv…
# Ver la estructura del dataframe
str(medals_data)
## spc_tbl_ [2,311 × 9] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
## $ ...1 : num [1:2311] 1 2 3 4 5 6 7 8 9 10 ...
## $ Year : num [1:2311] 1924 1924 1924 1924 1924 ...
## $ City : chr [1:2311] "Chamonix" "Chamonix" "Chamonix" "Chamonix" ...
## $ Sport : chr [1:2311] "Skating" "Skating" "Skating" "Bobsleigh" ...
## $ Discipline : chr [1:2311] "Figure skating" "Figure skating" "Figure skating" "Bobsleigh" ...
## $ NOC : chr [1:2311] "AUT" "AUT" "AUT" "BEL" ...
## $ Event : chr [1:2311] "individual" "individual" "pairs" "four-man" ...
## $ Event.gender: chr [1:2311] "M" "W" "X" "M" ...
## $ Medal : chr [1:2311] "Silver" "Gold" "Gold" "Bronze" ...
## - attr(*, "spec")=
## .. cols(
## .. ...1 = col_double(),
## .. Year = col_double(),
## .. City = col_character(),
## .. Sport = col_character(),
## .. Discipline = col_character(),
## .. NOC = col_character(),
## .. Event = col_character(),
## .. Event.gender = col_character(),
## .. Medal = col_character()
## .. )
## - attr(*, "problems")=<externalptr>
# La columna ...1 parece ser un índice. Si no es necesaria, puedes eliminarla:
medals_data <- medals_data[, -1]
# Ver las Columnas de DataFrame
colnames(medals_data)
## [1] "Year" "City" "Sport" "Discipline" "NOC"
## [6] "Event" "Event.gender" "Medal"
# Para especificar las Columnas
# Cargar el paquete readr
library(readr)
# Especificar la ruta local del archivo CSV
file_path <- "~/CURSOS1/R STUDIO/r-basic-master/data/medals.csv"
# Cargar el archivo CSV desde la ruta local usando read_csv
medals_data <- read_csv(file_path)
# Ver la especificación de las columnas
spec(medals_data)
## cols(
## ...1 = col_double(),
## Year = col_double(),
## City = col_character(),
## Sport = col_character(),
## Discipline = col_character(),
## NOC = col_character(),
## Event = col_character(),
## Event.gender = col_character(),
## Medal = col_character()
## )
¿Cuántos deportistas aparecen en el data frame?
# Cargar el paque dplyr
library(dplyr)
# Contar el número de deportistas únicos (asumiendo que cada fila es un deportista único)
num_deportistas <- medals_data %>%
summarise(num_deportistas = n())
# Mostrar el resultado
print(num_deportistas)
## # A tibble: 1 × 1
## num_deportistas
## <int>
## 1 2311
¿Cuántos deportistas han ganado medallas de oro? ¿Cuántos han ganado medallas de plata? ¿Y cuántos de bronce?
# Cargar el paque dplyr
library(dplyr)
# Contar el número de medallas de cada tipo
medallas_por_tipo <- medals_data %>%
group_by(Medal) %>%
summarise(count = n())
# Mostrar el resultado
print(medallas_por_tipo)
## # A tibble: 3 × 2
## Medal count
## <chr> <int>
## 1 Bronze 764
## 2 Gold 774
## 3 Silver 773
# Cargar el paquete ggplot2
library(ggplot2)
# Crear el gráfico de barras
ggplot(medallas_por_tipo, aes(x = Medal, y = count, fill = Medal)) +
geom_bar(stat = "identity") +
labs(title = "Número de Medallas por Tipo",
x = "Tipo de Medalla",
y = "Número de Medallas") +
theme_minimal()
¿En cuántos lugares se han hecho olimpiadas de invierno?
# Cargar el paque dplyr
library(dplyr)
# Contar el número de ciudades únicas que han albergado los Juegos Olímpicos de Invierno
num_ciudades <- medals_data %>%
summarise(num_ciudades = n_distinct(City))
# Mostrar el resultado
print(num_ciudades)
## # A tibble: 1 × 1
## num_ciudades
## <int>
## 1 17
# Cargar el paquete ggplot2
library(ggplot2)
# Contar el número de veces que cada ciudad ha albergado los Juegos Olímpicos de Invierno
ciudades_olimpiadas <- medals_data %>%
group_by(City) %>%
summarise(count = n()) %>%
arrange(desc(count))
# Crear el gráfico de barras
ggplot(ciudades_olimpiadas, aes(x = reorder(City, -count), y = count, fill = City)) +
geom_bar(stat = "identity") +
labs(title = "Número de Juegos Olímpicos de Invierno por Ciudad",
x = "Ciudad",
y = "Número de Juegos Olímpicos") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 90, hjust = 1))
¿Cuántos hombres y cuántas mujeres hay?
# Cargar el paque dplyr
library(dplyr)
# Contar el número de hombres y mujeres
genero_medallas <- medals_data %>%
group_by(Event.gender) %>%
summarise(count = n())
# Mostrar el resultado
print(genero_medallas)
## # A tibble: 3 × 2
## Event.gender count
## <chr> <int>
## 1 M 1386
## 2 W 802
## 3 X 123
# Cargar el paquete ggplot2
library(ggplot2)
# Crear el gráfico de barras
ggplot(genero_medallas, aes(x = Event.gender, y = count, fill = Event.gender)) +
geom_bar(stat = "identity") +
labs(title = "Número de Medallas por Género",
x = "Género del Evento",
y = "Número de Medallas") +
theme_minimal()
¿En qué año participaron más deportistas?
# Cargar el paque dplyr
library(dplyr)
# Contar el número de deportistas por año
deportistas_por_ano <- medals_data %>%
group_by(Year) %>%
summarise(count = n()) %>%
arrange(desc(count))
# Mostrar el año con más deportistas
ano_con_mas_deportistas <- deportistas_por_ano %>%
slice(1)
# Mostrar el resultado
print(ano_con_mas_deportistas)
## # A tibble: 1 × 2
## Year count
## <dbl> <int>
## 1 2006 252
# Cargar el paquete ggplot2
library(ggplot2)
# Crear el gráfico de barras
ggplot(deportistas_por_ano, aes(x = Year, y = count)) +
geom_bar(stat = "identity", fill = "steelblue") +
labs(title = "Número de Deportistas por Año",
x = "Año",
y = "Número de Deportistas") +
theme_minimal()
El campo NOC indica el país del ganador de la medalla. ¿Qué país puede presumir de haber ganado más medallas de oro en los juegos de invierno entre 1960 y 1996?
# Cargar el paque dplyr
library(dplyr)
# Filtrar los datos para el rango de años 1960-1996 y medallas de oro
medallas_oro_1960_1996 <- medals_data %>%
filter(Year >= 1960 & Year <= 1996 & Medal == "Gold")
# Contar el número de medallas de oro por país
medallas_oro_por_pais <- medallas_oro_1960_1996 %>%
group_by(NOC) %>%
summarise(count = n()) %>%
arrange(desc(count))
# Mostrar el país con más medallas de oro
pais_con_mas_medallas_oro <- medallas_oro_por_pais %>%
slice(1)
# Mostrar el resultado
print(pais_con_mas_medallas_oro)
## # A tibble: 1 × 2
## NOC count
## <chr> <int>
## 1 URS 71
# Cargar el paquete ggplot2
library(ggplot2)
# Crear el gráfico de barras
ggplot(medallas_oro_por_pais, aes(x = reorder(NOC, -count), y = count, fill = NOC)) +
geom_bar(stat = "identity") +
labs(title = "Número de Medallas de Oro por País (1960-1996)",
x = "País",
y = "Número de Medallas de Oro") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 90, hjust = 1))