Kodomo

Пользователь

Учебная страница курса биоинформатики,
год поступления 2020

Домашнее задание №2

Выложено в полном объеме

Оформите домашнее задание в виде документа .html или .pdf с помощью markdown, назовите файл согласно шаблону: FBB_R_ZharikovaА_HW2.html или FBB_R_ZharikovaА_HW2.pdf

Внутри файла используйте заголовки и текст для указания номеров и формулировок заданий.

В документе должен быть представлен код в явном виде.

Код должен содержать только работающие строки и демонстрировать корректность предложенного решения.

Помните о воспроизводимости вашего решения. Циклы применять не нужно ни в одном задании.

Если вы изменили встроенный набор данных, то его можно восстановить, пример: data("mtcars"). При манипуляциях с встроенными наборами данных лучше помещать их в отдельную переменную.

Полный балл можно получить только за оптимальное решение задания и корректную демонстрацию решения.

Готовый файл прикрепите в форму.

У каждого студента будет проверен только один файл, по умолчанию выбираем самый поздний из присланных вариантов в рамках дедлайна.

Пример

Создайте целочисленный вектор х от 1 до 10.

Оптимальное решение: x <- 1:10

Неоптимальное решение, но по сути верное: x <- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

Задания

1. Разбейте интервал от 1 до 20 на 5 равных интервалов.

2. Создайте вектор х, содержащий пять единиц подряд, затем пять троек подряд, затем пять десяток подряд. Выведите длину вектора и сам вектор целиком.

3. Создайте вектор x длины 30, содержащие четные числа, начиная с 2. Выведите длину вектора и сам вектор целиком.

4. Создайте вектор x длины 20, содержащий целые числа от 20 до 24, набранные случайным образом. Выведите сам вектор целиком. Сосчитайте количество каждого числа в получившемся векторе.

5. Создайте вектор х, содержащий 200 значений из нормального распределения с средним 2. Выведите длину вектора и среднее значение элементов вектора.

6. Создайте вектор х, содержащий 10 значений из стандартного нормального распределения. Выведите вектор х полностью. Затем выведите вектор х без двух последних элементов, код должен работать с вектором любой длины.

7. Воспользуйтесь вектором х из задания №6. Посчитайте и выведите сумму положительных значений вектора х.

8. Выведите "шапку" встроенного набора данных mtcars, а также количество строк и количество столбцов.

9. Выберите верные утверждения.

* а) Столбец data.frame является вектором.

* б) Строка data.frame является вектором.

* в) Вектор в R может содержать данные разного типа.

* г) Строка data.frame - это data.frame из одной строки.

* д) При создании вектора обязательно нужно указывать его тип.

* е) При операциях с векторами необходимо использовать циклы в явном виде.

* ж) Индексация элементов вектора начинается с 1.

10. Изучите оператор %%. Для чего он используется? Приведите примеры.

11. Воспользуйтесь вектором х из задания №4. Выведите:

* а) Четные элементы

* б) Элементы с четными индексами

12. За одну команду, используя функцию paste() переименуйте колонки набора данных mtcars, добавив к каждой колонке ее порядковый номер через нижнее подчеркивание без пробелов. Пример: "am_9". Код должен работать независимо от количества колонок в наборе данных.

13. Воспользуйтесь встроенным набором данных СО2. Опишите разнообразие значений столбца Type в наборе данных CO2.

14. Отберите из набора данных CO2 такие строки, где значение столбца conc строго больше среднему значению столбца conc. Сколько получилось строк?

15. Выберите из набора данных CO2 только 1ый и последний столбцы. Используйте функцию ncol(). Сколько столбцов получилось?

16. Отберите из набора данных CО2 такие значения, где столбец Plant принимает значения Qn1, Qn2 и Qn3. Воспользуйтесь оператором %in%.

17. Решите задания №15 и №16 за одну команду.

18. Отберите из данных mtcars случайным образом 5 строк и 5 столбцов.

19. Добавьте к данным mtcars информацию о любой новой выдуманной машине.

20. Выведите из данных mtcars только строку о машине Datsun 710.

21. Отсортируйте набор данных mtcars по столбцу hp по возрастанию. Затем отберите первые 6 строк. Из получившегося набора данных выведите информацию о машине с наименьшим значением в столбце drat.

22. Изучите функцию colSums(). Для чего она нужна? Приведите примеры использования. Какой объект получается на выходе (data.frame, матрица, ...)?

23. Воспользуйтесь встроенным набором данных airquality. Сосчитайте количество пропущенных значений (NA) в каждом столбце.

24(*). Выведите только названия столбцов, содержащих пропущенные значения (NA).

25. Сколько в наборе данных airquality строк, не содержащих пропущенных значений (NA)?

26. Сколько всего пропущенных значений во всем наборе данных airquality?

27. Замените пропущенные значения (NA) в встроенном наборе данных airquality на 1000. Продемонстрируйте корректность работы вашего кода любым способом.

28. Создайте вектор x, состоящий из 20 значений, взятых из распределения Пуассона с лямбдой = 4. Выведите вектор х целиком. Из этого вектора создайте матрицу m, состоящую из 4 колонок, заполненную по строкам. Выведите матрицу m целиком.

29. Воспользуйтесь матрицей m из задания №28. Дайте имена колонкам: col1, ..., col4, не перечисляя все имена в явном виде. Выведите получившиеся имена колонок. Сделайте подматрицу m1, отобрав из матрицы m колонки с именами "col1" и "col3", а также первые 3 строки.

30. Воспользуйтесь матрицей m из задания №28. Возьмите только первую строку матрицы так, чтобы получилась матрица из одной строки. Обратите внимание на параметр drop при создании необходимого среза.

2020/5/HW2 (последним исправлял пользователь anastaisha_w 2022-09-15 21:32:29)