Часть 1

  1. Напишите код, который запрашивает у пользователя его имя и фамилию (отдельные строки “Enter your name:” и “Enter your surname:”), сохраняет их и выводит на экран “Hello, [name] [surname]! Welcome to R!”

  2. Напишите код, который сохраняет число, которое ввел пользователь с клавиатуры (предполагается, что пользователь вводит только числа, причем в правильном формате - в качестве разделителя использует точку), в переменную x и если x является целым числом, то выводит на экран сообщение “It is an integer.”, а если x не является таковым, то выводит “It is not an integer”.

  3. Напишите код, который запрашивает у пользователя число элементов вектора (“Enter number of elements:”), сохраняет его в переменную n и создает вектор заданной длины, состоящий из пропущенных значений.

  4. Напишите код, который запрашивает у пользователя число элементов вектора (“Enter number of elements:”), сохраняет его в переменную n и создает вектор заданной длины, состоящий из пропущенных значений. Дальше, если индекс элемента четный, то этот элемент заменяется на 1, если нечетный - на 0.

  5. Дан вектор оценок студентов grades10 (оценки указаны в 10-балльной шкале). Напишите код, который на основе вектора grades10 создает вектор grades5 - вектор оценок в 5-балльной шкале:

  1. Напишите код, который запрашивает у пользователя размерность матрицы (предполагается, что пользователь вводит число строк и столбцов через пробел), сохраняет их и создает единичную матрицу заданной размерности. Если невозможно создать единичную матрицу заданной размерности, на экран выводится сообщение “Impossible to create an identity matrix with such dimensions.”.

Подсказка: единичная матрица - квадратная матрица (число строк равно числу столбцов), на главной диагонали которой стоят 1, а все остальные элементы равны 0. Пример:

[1 0 0]
[0 1 0]
[0 0 1]
  1. Дан вектор стран:
cnt <- c('France', 'Hungary', 'Ukraine', 'Romania', 'Germany', 'Russia', 'Finland', 'Italy', 'Spain')

Напишите код, который перебирает элементы вектора cnt до тех пор, пока не дойдет до России. Если название страны отлично от ‘Russia’, на экран должно выводиться сообщение “It is not Russia.”, а если название совпадает с ‘Russia’, на экран должно выводиться сообщение: “Russia is found. Its number is n”, где n - порядковый номер России в списке.

а) Используйте цикл for.

б) используйте цикл while.

Внимание: Ваш код должен работать корректно и в том случае, если мы изменим порядок элементов в векторе cnt!

Часть 2

  1. Напишите функцию, которая просит пользователя ввести свое имя, и если оно совпадает Вашим, выводит на экран “[Name], welcome to R! I missed you”, если не совпадает, то выводит на экран “Sorry, R is not available now”. Подразумевается, что R знает Ваше имя (при желании можете написать функцию, которая вытаскивает Ваше имя пользователя на компьютере и сравнивает с ним).

  2. Напишите функцию, которая принимает на вход числовой вектор и возвращает вектор, состоящий из квадратов элементов вектора, поданного на вход. Можете для определенности назвать функцию get_squares.

  3. Напишите функцию smart_squares, которая принимает на вход вектор, и если он числовой, то возвращает вектор из квадратов его элементов, а если нет – возвращает вектор из пропущенных значений и выводит на экран сообщение “Your vector is not numeric.”

  4. Напишите функцию, которая принимает на вход базу данных, удаляет в ней пропущенные значения и выводит на экран описательные статистики по всем переменным. Для тестирования можете взять любую базу данных, например, с наших семинаров.

  5. Напишите функцию, которая принимает на вход путь к папке, в которой лежит база данных (например, C:/Users/my-folder) и название файла с базой данных (считайте, что все хранится в csv-формате), и возвращает вектор, содержащий следующую информацию: число переменных в базе, число наблюдений в базе, количество строк, включающих пропущенные значения.

Примечание: для более user-friendly выдачи можно вспомнить про поименованные векторы.