Для выполнения домашнего задания вам будет необходимо пользоваться реализацией системы контроля версий git
на платформе https://github.com. Работе с git
посвящен отдельный курс, поэтому здесь будет только короткое напоминание. Системы контроля версий позволяют отслеживать изменения в документах, производить вовзврат к предыдущим версиям, определять автора и время изменения и т. п. GitHub
-- это крупнейшая платформа, которая позволяет использовать git
для того, чтобы хранить и совместно разрабатывать свои проекты в интернете. Каждый отдельный проект хранят в отдельном репозитории (repository), например, эта домашняя работа -- это репозиторий. В репозитории могут храниться файлы любого формата (но размером меньше чем 50 Мб), однако некоторые форматы легче смотреть на гитхабе (файлы с кодом, .csv файлы, изображения, легкие файлы .pdf). Каждое изменение файлов, которое пользователь хочет, чтобы хранилось в системе контроля версий, называется коммит (commit). С каждым репозиторием ассоциировано доменное имя, которе позволит хранить и отображать .html файлы, например, сайт нашего курса https://agricolamz.github.io/2020-2021-ds4dh/ хранится в репозитории https://github.com/agricolamz/2020-2021-ds4dh.
- дедлайн для задания: 26.10.2019, 23:59. Дедлайн очень строгий, поэтому лучше сделать и прислать заранее.
- эта домашняя работа не требует использования дополнительных пакетов, пройденного материала должно быть достаточно для решения заданий, весь материал отражен в конспектах к курсу. Тем не менее, вы можете пользоваться любыми другими материалами в интернете, если они вам помогут.
- не стесняйтесь задавать вопросы (но лучше открывать issue, а не писать в телеграме). Помните, что я не смогу помочь, если все начнут писать в последний вечер перед дедлайном, так что начните делать задания заранее.
Зарегистрируйтесь на сайте https://github.com и примите приглашение в репозиторий с вашим домашним заданием.
Исправьте README.md
файл, напишите свое имя в соответствующем поле в этом задании. Для этого нужно нажать на значок 🖉 в правом верхнем углу, а потом, когда все изменения внесены, нажать на зеленную кнопку Commit changes
внизу.
Имя и фамилия: ...
Файл
README.md
-- это текстовый файл с markdown разметкой, который автоматически отображается в каждом репозитории.
Нажав на кнопки Create new file
или Upload file
, cоздайте новый файл HW1_sequence.R
, который будет содержать выражение на языке R, выводящую в консоль последовательность чисел от 1000 до 10000 с шагом 1234.
[1] 1000 2234 3468 4702 5936 7170 8404 9638
Можно взглянуть сюда, если возникли какие-то проблемы.
Создайте свою функцию my_mean()
, которая считает арифметическое среднее, но в отличие от стандартной функции mean()
сразу выкидывает NA
при расчете. Проверьте созданную функцию my_mean()
следующим образом:
my_mean(c(1:10, NA))
#> [1] 5.5
Сохраните созданную функцию в файл HW1_my_mean.R
, загрузите его на ваш репозиторий с домашним заданием.
Загрузите файл super_hero_powers.csv
по ссылке (используя загрузку по ссылке):
https://raw.githubusercontent.com/agricolamz/2020-2021-ds4dh/master/data/super_hero_powers.csv
В этом наборе данных каждая строчка означает супергероя. Первая колонка hero_names
содержит имя супергероя, а остальные колонки содержат логические значения, обозначающие, есть ли у супергероя данная суперсила.
- Найдите самую распространенную суперсилу (или самые распространенные суперсилы, если таких несколько) у супергероев. Ответом должен быть проименованный (имя - название суперсилы, само значение - количество) числовой вектор ненулевой длины.
Подсказка: если удалить первую колонку, то все остальные колонки будут иметь только логический тип данных.
- Найдите супергероя с самым большим количеством суперсил. Ответом должен быть строковый вектор длиной один (т.е. просто строка).
Подсказка: можете проверить свой ответ, погуглив имя супергероев.
- Посчитайте количество супергероев, у которых всего одна суперсила. Ответом должен быть числовой вектор длиной один (т.е. просто число).
Скрипт сохраните в файл HW1_superhero_powers.R
, загрузите его на ваш репозиторий с домашним заданием.