Carga el archivo suministrado titanic.cvs
library(readr)
library(dplyr)
titanic2 <- read_csv("titanic (1).csv")
DT::datatable(titanic2)
sapply(titanic2, function(x) sum(is.na(x)))
## PassengerId Survived Pclass Name Sex Age
## 0 0 0 0 0 177
## SibSp Parch Ticket Fare Cabin Embarked
## 0 0 0 0 687 2
str(titanic2)
## spec_tbl_df [891 × 12] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
## $ PassengerId: num [1:891] 1 2 3 4 5 6 7 8 9 10 ...
## $ Survived : num [1:891] 0 1 1 1 0 0 0 0 1 1 ...
## $ Pclass : num [1:891] 3 1 3 1 3 3 1 3 3 2 ...
## $ Name : chr [1:891] "Braund, Mr. Owen Harris" "Cumings, Mrs. John Bradley (Florence Briggs Thayer)" "Heikkinen, Miss. Laina" "Futrelle, Mrs. Jacques Heath (Lily May Peel)" ...
## $ Sex : chr [1:891] "male" "female" "female" "female" ...
## $ Age : num [1:891] 22 38 26 35 35 NA 54 2 27 14 ...
## $ SibSp : num [1:891] 1 1 0 1 0 0 0 3 0 1 ...
## $ Parch : num [1:891] 0 0 0 0 0 0 0 1 2 0 ...
## $ Ticket : chr [1:891] "A/5 21171" "PC 17599" "STON/O2. 3101282" "113803" ...
## $ Fare : num [1:891] 7.25 71.28 7.92 53.1 8.05 ...
## $ Cabin : chr [1:891] NA "C85" NA "C123" ...
## $ Embarked : chr [1:891] "S" "C" "S" "S" ...
## - attr(*, "spec")=
## .. cols(
## .. PassengerId = col_double(),
## .. Survived = col_double(),
## .. Pclass = col_double(),
## .. Name = col_character(),
## .. Sex = col_character(),
## .. Age = col_double(),
## .. SibSp = col_double(),
## .. Parch = col_double(),
## .. Ticket = col_character(),
## .. Fare = col_double(),
## .. Cabin = col_character(),
## .. Embarked = col_character()
## .. )
## - attr(*, "problems")=<externalptr>
Calcular y mostrar el valor de la media y la mediana de las edades de las personas que viajaban en el barco y sobrevivieron
sobrevivieron= titanic2 %>% filter(Survived=="1")
str(sobrevivieron)
## spec_tbl_df [342 × 12] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
## $ PassengerId: num [1:342] 2 3 4 9 10 11 12 16 18 20 ...
## $ Survived : num [1:342] 1 1 1 1 1 1 1 1 1 1 ...
## $ Pclass : num [1:342] 1 3 1 3 2 3 1 2 2 3 ...
## $ Name : chr [1:342] "Cumings, Mrs. John Bradley (Florence Briggs Thayer)" "Heikkinen, Miss. Laina" "Futrelle, Mrs. Jacques Heath (Lily May Peel)" "Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg)" ...
## $ Sex : chr [1:342] "female" "female" "female" "female" ...
## $ Age : num [1:342] 38 26 35 27 14 4 58 55 NA NA ...
## $ SibSp : num [1:342] 1 0 1 0 1 1 0 0 0 0 ...
## $ Parch : num [1:342] 0 0 0 2 0 1 0 0 0 0 ...
## $ Ticket : chr [1:342] "PC 17599" "STON/O2. 3101282" "113803" "347742" ...
## $ Fare : num [1:342] 71.28 7.92 53.1 11.13 30.07 ...
## $ Cabin : chr [1:342] "C85" NA "C123" NA ...
## $ Embarked : chr [1:342] "C" "S" "S" "S" ...
## - attr(*, "spec")=
## .. cols(
## .. PassengerId = col_double(),
## .. Survived = col_double(),
## .. Pclass = col_double(),
## .. Name = col_character(),
## .. Sex = col_character(),
## .. Age = col_double(),
## .. SibSp = col_double(),
## .. Parch = col_double(),
## .. Ticket = col_character(),
## .. Fare = col_double(),
## .. Cabin = col_character(),
## .. Embarked = col_character()
## .. )
## - attr(*, "problems")=<externalptr>
sobrevivieron$Age[is.na(sobrevivieron$Age)] <- 28
sobrevivieron
## # A tibble: 342 × 12
## PassengerId Survived Pclass Name Sex Age SibSp Parch Ticket Fare Cabin
## <dbl> <dbl> <dbl> <chr> <chr> <dbl> <dbl> <dbl> <chr> <dbl> <chr>
## 1 2 1 1 Cumin… fema… 38 1 0 PC 17… 71.3 C85
## 2 3 1 3 Heikk… fema… 26 0 0 STON/… 7.92 <NA>
## 3 4 1 1 Futre… fema… 35 1 0 113803 53.1 C123
## 4 9 1 3 Johns… fema… 27 0 2 347742 11.1 <NA>
## 5 10 1 2 Nasse… fema… 14 1 0 237736 30.1 <NA>
## 6 11 1 3 Sands… fema… 4 1 1 PP 95… 16.7 G6
## 7 12 1 1 Bonne… fema… 58 0 0 113783 26.6 C103
## 8 16 1 2 Hewle… fema… 55 0 0 248706 16 <NA>
## 9 18 1 2 Willi… male 28 0 0 244373 13 <NA>
## 10 20 1 3 Masse… fema… 28 0 0 2649 7.22 <NA>
## # … with 332 more rows, and 1 more variable: Embarked <chr>
mean(sobrevivieron$Age)
## [1] 28.29143
median(sobrevivieron$Age)
## [1] 28
Mostrar la cantidad de personas que viajaban en el barco en cada una de las tres clases.
pcass=titanic2 %>% count(Pclass)
pcass
## # A tibble: 3 × 2
## Pclass n
## <dbl> <int>
## 1 1 216
## 2 2 184
## 3 3 491
library(ggplot2)
ggplot(titanic2, aes(Pclass))+
geom_bar(fill=rgb(0.1,1,0.5,0.7))
Mostrar la cantidad de personas que viajaban en el barco en cada una de las tres clases dicriminando por sobrevivientes y no sobrevivientes.
titanic2 %>% group_by (Pclass,Survived) %>% summarise(count_sales = n())
## `summarise()` has grouped output by 'Pclass'. You can override using the
## `.groups` argument.
## # A tibble: 6 × 3
## # Groups: Pclass [3]
## Pclass Survived count_sales
## <dbl> <dbl> <int>
## 1 1 0 80
## 2 1 1 136
## 3 2 0 97
## 4 2 1 87
## 5 3 0 372
## 6 3 1 119
Calular y mostrar el valor del tiquete más ecónomico, más costoso y el valor promedio.
#valor minimo
min(titanic2$Fare)
## [1] 0
#valor maximo
max(titanic2$Fare)
## [1] 512.3292
#valor promedio
mean(titanic2$Fare)
## [1] 32.20421
Realice un diagrama de barras (barplot) que permita visualizar la cantidad de personas por género.
ggplot(titanic2, aes(Sex))+
geom_bar(fill=10)
Realice un diagrama de barras (barplot) que permita visualizar la cantidad de personas por tipo de tiquete.
ggplot(titanic2, aes(x=Ticket))+
geom_bar(fill=5)
Realice un diagrama de caja (boxplot) con los datos de las edades. ¿Cuál es su interpretación a lovisualizado en el gráfico?
fig=ggplot(titanic2, aes(y=Age))+
geom_boxplot(fill=15)
library(plotly)
##
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
##
## last_plot
## The following object is masked from 'package:stats':
##
## filter
## The following object is masked from 'package:graphics':
##
## layout
ggplotly(fig)
## Warning: Removed 177 rows containing non-finite values (stat_boxplot).
##INTERPRETACIÓN: en el cuartil 1(25%) de los datos, podemos observar que los pasajeron a bordo eran menores de 22 años, 50% de los datos se encuentran entre los 22 y 35 años, la persona mas joven que abordo el barco tenia 0.42 años y la mas longeva tenia 80 años de edad, adicional se consideran edades atipicas desde los 55 años en adelante y menores a 2 años de edad.
Para cada una de las variables muestre el consolidado de la siguiente información: valor mínimo, primer cuartil, promedio, tercer cuartil y valor máximo. Recuerde se requiere para cada variable.
summary(titanic2)
## PassengerId Survived Pclass Name
## Min. : 1.0 Min. :0.0000 Min. :1.000 Length:891
## 1st Qu.:223.5 1st Qu.:0.0000 1st Qu.:2.000 Class :character
## Median :446.0 Median :0.0000 Median :3.000 Mode :character
## Mean :446.0 Mean :0.3838 Mean :2.309
## 3rd Qu.:668.5 3rd Qu.:1.0000 3rd Qu.:3.000
## Max. :891.0 Max. :1.0000 Max. :3.000
##
## Sex Age SibSp Parch
## Length:891 Min. : 0.42 Min. :0.000 Min. :0.0000
## Class :character 1st Qu.:20.12 1st Qu.:0.000 1st Qu.:0.0000
## Mode :character Median :28.00 Median :0.000 Median :0.0000
## Mean :29.70 Mean :0.523 Mean :0.3816
## 3rd Qu.:38.00 3rd Qu.:1.000 3rd Qu.:0.0000
## Max. :80.00 Max. :8.000 Max. :6.0000
## NA's :177
## Ticket Fare Cabin Embarked
## Length:891 Min. : 0.00 Length:891 Length:891
## Class :character 1st Qu.: 7.91 Class :character Class :character
## Mode :character Median : 14.45 Mode :character Mode :character
## Mean : 32.20
## 3rd Qu.: 31.00
## Max. :512.33
##
-Giorgio Boccardo Bosoni y Felipe Ruiz Bruzzone, (2019-07-03), Capítulo 8 Construcción de gráficos usando RStudio: funcionalidades básicas y uso del paquete ggplot2 Ejercicio 8.8 https://bookdown.org/gboccardo/manual-ED-UCH/construccion-de-graficos-usando-rstudio-funcionalidades-basicas-y-uso-del-paquete-ggplot2.html
-delftstack, (April-26, 2021), Reemplazar NA con cero en R https://www.delftstack.com/es/howto/r/replace-na-with-0-in-r/
-Hadley Wickham , Romain François , Lionel Henry , Kirill Müller, contar observaciones por grupo https://dplyr.tidyverse.org/reference/count.html
-data science made simple, (2022), GROUPBY COUNT IN R https://www.datasciencemadesimple.com/groupby-count-in-r-2/