Семинар 4

Часть 1

  1. Загрузите таблицу с расширением Titanic.csv по ссылке и сохраните ее как df. Посмотрите на нее. Сколько в таблице наблюдений (строк), переменных (столбцов)? Все ли переменные имеют корректный тип? Удалите из таблицы пропущенные значения и сохраните изменения в df.

  2. Используя функции dplyr, оставьте в базе данных все столбцы, кроме Ticket и Cabin.

  3. Переименуйте столбцы в таблице так, чтобы все названия были записаны с маленькой буквы (dplyr не требуется).

  4. Добавьте в таблицу столбец age_sq, в котором сохранены значения возраста в квадрате. Добавьте столбец female, состоящий из 0 и 1, где 1 соответствует пассажирам женского пола (функция ifelse()).

  5. Агрегируйте данные по классам (pclass) и посчитайте число пассажиров женского и мужского пола среди пассажиров каждого класса. Посчитайте процент пассажиров женского и мужского пола среди пассажиров каждого класса. (Подсказка: сочетайте group_by() и summarise()).

  6. Посчитайте число пассажиров, в обращении которых используется слово Mr..

Часть 2

  1. Установите библиотеку ggplot2() и обратитесь к ней через library().

  2. Постройте гистограмму для значений переменной age для пассажиров 1) первого класса; 2) третьего класса.

# пример для 1 класса

df %>% filter(pclass == 1) %>% ggplot(aes(x = age)) + geom_histogram()
FALSE Warning: Removed 30 rows containing non-finite values (stat_bin).

df %>% filter(pclass == 1) %>% ggplot(aes(x = age)) + geom_histogram(binwidth = 5) + ggtitle("1st class")
FALSE Warning: Removed 30 rows containing non-finite values (stat_bin).

df %>% filter(pclass == 1) %>% ggplot(aes(x = age)) + 
  geom_histogram(binwidth = 5, fill = 'thistle', color = 'darkviolet') + 
  ggtitle("1st class") +
  theme_bw()
FALSE Warning: Removed 30 rows containing non-finite values (stat_bin).

  1. Постройте сглаженные графики плотности распределения переменной age (geom_density()) по группам в зависимости от пола пассажиров. Графики для пассажиров женского и мужского пола должны быть в разных «окошках» (фасетках).

Подсказка: поменяйте тип графика на geom_density(), для получения графиков по группам используйте facet_grid(~), где после ~ укажите переменную группировки (в нашем случае пол пассажира).