Алла Тамбовцева
Политолог Мебейн (Walter R. Mebane) считает, что большая доля избирательных участков со значениями явки, заканчивающихся на 0 или 5, свидетельствует о фальсификациях результатов выборов. Аргументирует он это чисто психологическими причинами: если значения явки сочиняют люди, то они более склонны записывать круглые числа и числа, кратные 5.
Перед Вами вектор значений явки на избирательных участках в районе F страны Флатландии:
turnout <- c(100, 124, 121, 130, 150, 155, 144, 132, 189, 145, 125, 110, 118, 129, 127)
(1 балл) Выведите на экран индексы избирательных участков, где явка, согласно Мебейну, выглядит подозрительной (значения явки, кратные 10 или 5).
(1 балл) Определите долю таких подозрительных участков, выразите ее в процентах и округлите ответ до второго знака после запятой.
В заданиях 2-4 Вы будете работать с базой данных, которая посвящена выступлениям TED (сокращенная версия базы с Kaggle).
comments
- число комментариев;
description
- описание выступления;
duration
- продолжительность видео в секундах;
event
- название мероприятия;
main speaker
- главный спикер;
title
- название;
occupation
- профессия/статус спикера.
(1 балл) Загрузите файл TED.csv.
(1 балл) Сколько видеозаписей выступлений в датасете? Сколько переменных в датасете? Приведите код для ответов на вопросы и запишите ответ в виде комментария.
(1 балл) Сколько в датасете строк, содержащих пропущенные значения? Приведите код для ответа на вопрос и запишите ответ в виде комментария.
(1 балл) Удалите из датасете строки с пропущенными значениями (если они есть).
(1 балл) Выведите описательные статистики для всех переменных в датафрейме.
Все необходимые действия должны быть выполнены с помощью библиотеки dplyr
.
(2 балла) Сгруппируйте все наблюдения в соответствии со значениями переменной event
. Сколько в базе данных выступающих на каждом мероприятии? Приведите код.
(2 балла) Добавьте в базу данных переменную duration_hour
- продолжительность видео в часах. Добавьте в базу переменную comm
, которая принимает значение 0, если комментариев к видео меньше 500, и значение 1, если комментариев не менее 500.
(3 балла) Чего в базе данных больше: видео, у которых комментариев больше 800 или видео, у которых продолжительность менее 100 секунд? Приведите код и ответ на вопрос в виде комментария.
(3 балла) Чего в базе данных больше: выступлений с более 100 комментариями, которые готовили активисты (занятость Activist
) или выступлений с менее 400 комментариями, которые готовили представители социальных наук (занятость Social scientist
)? Приведите код и ответ на вопрос в виде комментария.
(3 балла) Постройте (необязательно с помощью ggplot2) график, который бы показывал распределение показателя comments
. Поменяйте цвет, подпишите оси и дайте название графику.
Отберите в новый датафрейм df1
три самых «объемных» мероприятия (events с наибольшим числом видео). Постройте с помощью библиотеки ggplot2 скрипичные диаграмы (violin plots) для показателя число комментариев (comments) так, чтобы все диаграммы были в пределах одного графика, но график для каждого мероприятия был в отдельном окне. Дайте название графику, подпишите оси.
Дан вектор явки (в процентах).
turnout <- c(17.5, 32, 64, 78, 69, 82, 90, 42, 146, 123, 98, 16)
Напишите код, который делает следующее. До тех пор, пока значение явки не превышает 100 процентов, R выводит на экран значение явки, но если значение больше 100, R сразу останавливается, пишет “Are you sure?” и дальше ничего не делает (то есть перестает выводить значения на экран).
Напишите функцию bmi()
, которая запрашивает у пользователя с клавиатуры его рост в сантиметрах и вес в килограммах (считайте, что пользователь вводит два числа через пробел) и возвращает индекс массы тела, округленный до целого значения. Индекс массы тела считается так:
```
BMI = m / h^2, где m - масса тела в килограммах, h - рост в МЕТРАХ
```
Напишите функцию dante()
, которая выводит на экран вопрос “В каком круге Ада по Данте находится Платон?”, сохраняет ответ пользователя, введенный с клавиатуры, и если ответ верный (принимаются ответы Лимб, первый и 1), то выводит на экран сообщение “Верный ответ!”, если нет – выводит сообщение “Неверно. Перечитайте Данте!”.
Используя html-страницу, ссылка на которую приведена ниже, создайте датафрейм, который должен включать следующие столбцы:
name
);gender
);party
).Посмотреть на саму страницу (в сверстанном виде) можно здесь:
https://www.w3schools.com/code/tryit.asp?filename=FSHGYZTU2PBH.
Ссылка на html-файл.
Подсказка: на вход функциям для парсинга html-страницы можно подавать не только ссылки на страницу, но и название html-файла или путь к нему. При необходимости добавьте опцию encoding=UTF-8
для кодировки.
Напишите функцию get_info()
, которая принимает на вход ссылку на персональную страницу преподавателя ВШЭ, и возвращает список (list), содержащий следующие элементы: