<- matrix(1, 4, 4)
A A
[,1] [,2] [,3] [,4]
[1,] 1 1 1 1
[2,] 1 1 1 1
[3,] 1 1 1 1
[4,] 1 1 1 1
Elena U
March 7, 2023
Составлены в формате задание - ответ к нему.
Рассчитано на самопроверку: ваша задача написать такой код, чтобы совпал с моим правильным ответом. Плюс есть еще несколько заданий на подумать и вспомнить материал лекции.
Не стесняйтесь гуглить, это необходимо для решения многих задач в программировании, которые могут встретиться в реальной жизни.
Если вдруг найдутся ошибки/опечатки, пишите на почту e.ubogoeva@alumni.nsu.ru
или в телеграм. Вопросы по заданиям также можно писать на почту или в телеграм, телеграм чуть предпочтительнее.
Создайте матрицу A
, состоящую из единиц и имеющую 4 колонки и 4 строки:
Замените третью строку матрицы A на числа 5, 6, 7, 8
Извлеките четвертую колонку этой матрицы
Создайте матрицу M
из чисел от 21 до 40 размером 4 строки и 5 столбцов.
Замените в матрице M
четные значения словом “Четное”, а нечетные словом “Нечетное”.
Создайте список list1
, первый элемент: числовой вектор от 11 до 77 с шагом 3, второй элемент: буквы строчные английского алфавита - это встроенный набор letters
, третий элемент: вектор TRUE
, FALSE
.
Извлеките второй элемент списка в виде вектора
Извлеките четвертый элемент вектора первого элемента списка
Создайте новый элемент в списке, назовите его double_vector
и заполните его первым элементом списка, умноженного на 2
[[1]]
[1] 11 14 17 20 23 26 29 32 35 38 41 44 47 50 53 56 59 62 65 68 71 74 77
[[2]]
[1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s"
[20] "t" "u" "v" "w" "x" "y" "z"
[[3]]
[1] TRUE FALSE
$double_vector
[1] 22 28 34 40 46 52 58 64 70 76 82 88 94 100 106 112 118 124 130
[20] 136 142 148 154
Извлеките элемент double_vector
двумя разными способами
Извлеките 1, 3, 5, 7 элементы вектора double_vector
Замените пятый элемент double_vector
на 100. Правила такие же как при замене элементов векторов
[[1]]
[1] 11 14 17 20 23 26 29 32 35 38 41 44 47 50 53 56 59 62 65 68 71 74 77
[[2]]
[1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s"
[20] "t" "u" "v" "w" "x" "y" "z"
[[3]]
[1] TRUE FALSE
$double_vector
[1] 22 28 34 40 100 52 58 64 70 76 82 88 94 100 106 112 118 124 130
[20] 136 142 148 154
Создайте отдельный список small_list
из первого и третьего элемента списка list1
.
Составьте список list2
, состоящий из заглавных букв английского алфавита (LETTERS) номером 10, 15, 10, 15.
Объедините list1
и list2
в список list_whole
, проверьте тип данных, выведите структуру.
[1] "list"
List of 2
$ :List of 4
..$ : num [1:23] 11 14 17 20 23 26 29 32 35 38 ...
..$ : chr [1:26] "a" "b" "c" "d" ...
..$ : logi [1:2] TRUE FALSE
..$ double_vector: num [1:23] 22 28 34 40 100 52 58 64 70 76 ...
$ : chr [1:4] "J" "O" "J" "O"
Создадим датафрейм df
, первая колонка: числа 10, 12, 15, вторая колонка вектор TRUE, FALSE, TRUE, третья колонка любой строковый вектор
Лучше создать с именами:
Также для переименования можно использовать функцию colnames()
Извлеките 1, 2, 3 строки 5, 6, 9 колонки датасета mtcars
(встроен в R, достаточно набрать mtcars
).
Установите пакет ggplot2
(пакет с CRAN-а для графиков)
Загрузите пакет ggplot2
Задание со звездочкой (на способность гуглить): удалите (unload) пакет ggplot2
из окружения. Это редко, но иногда может понадобиться, при загрузке ненужного пакета. Однако, я рекомендую перезапустить RStudio комбинацией клавиш Ctrl+Shift+F10, и после этого загрузить уже только нужные пакеты.
Извлечь случайное число из набора 0.00015, 0.6, 0.056, 0.02, если число < 0.05, вывести в консоль “p-value < 0.05”, иначе вывести “p-value не значимо”.
Напоминаю, что для извлечения случайных чисел используется функция sample()
На циклы заданий не будет, потому что все, что я смогла придумать легко решается без циклов. Совет от соника: не использовать циклы.
Создайте вектор p, состоящий из значений 4, 5, 6, 7, и вектор q, состоящий из 0, 1, 2, 3.
Посчитайте поэлементную сумму векторов p и q:
Посчитайте поэлементную разницу p и q:
Поделите каждый элемент вектора p на соответствующий ему элемент вектора q:
Создайте вектор, в котором будут содержаться первые 20 степеней двойки.
Посчитайте сумму чисел, кратных 3 ИЛИ кратных 5 в наборе чисел от 1 до 100
Найдите сумму всех простых чисел от 1 до 100, где 1 не является простым. Если не получается решить задание сейчас, лучше подождать следующей лекции, разберем более подробно векторизацию и работу с функциями семейства *apply()
и создание собственных функций.