Со школы мы помним, что векторы, это направленные отрезки, однако это не совсем так. В более общем значении, которые используются в математике и в программировании, вектор - это одномерный набор однотипных элементов. При этом вектор, это базовая структура хранения данных в среде R. Скоро мы увидим, что всё, что R делает, он делает с использованием векторных операций. Итак, вектор - это одномерный набор данных, это как книги на полке, у каждого значения вектора есть своя позиция в этой последовательности, и это позиция обозначается квадратными скобками. Например, здесь вы видите вектора из 100 числовых значений, и для удобства этот вектор разбить на десять строк, но при этом разбиение настройки может меняться в зависимости от того, как у вас ширина окна настроена. В начале каждой из строк в квадратных скобках указывается номер элемента, с которого это строка начинается. До сих пор мы рассматривали действия произведенные над каким-то одним числом, однако очевидно, что одно число, это частный случай вектора, вектор, состоящий из одного элемента. И вот с векторами как с отдельными числами можно производить операции используя их как единое целое. Первая задача, которую мы попытаемся решить это, мы научимся создавать векторы, то есть порождать векторы из каких-то элементов, которые пока еще не приведены в состояние единство такого. Чаще всего векторы появляются в среде R тремя путями: через прямое перечисление элементов, потом можно задать вектор в качестве последовательности, и наконец, можно загрузить вектор данных из внешнего источника. Самый простой способ объединить какие-то значения в некий вектор, это использовать функцию c(). В данном коде мы объявляем, что числа 1, 0, 3, -10 будут соединены в один вектор, причем на первом месте будет стоять единица, о чем и говорят нам квадратные скобки, в которых стоит единица. Во втором будет стоять ноль, на третьем - тройка, на четвертом - -10. Однако, будьте внимательны, из-за того, что английское c или латинское ц пишется, так сказать, стоит на той же части клавиатуры, что и русская с, то очень часто возникает ошибка, когда ты набираешь вместо английской c русскую букву с, и дальше начинаешь перечислять те числа, которые надо собрать в вектор. В этой ситуации вы получаете сообщение could not find function "с". Не удивительно, действительно, русского с нет, вот на клавиатуре, который понимает система R. Далее, активируя функцию c, собирающий элементы в один вектор, мы лишь отправили этот вектор в консоль, для среды его пока не существует. Исправить это можно тем же способом, которой мы уже владеем, а именно, присвоив результаты работы функции c в некоторые переменные. Теперь мы складываем результаты работы функции c в переменную под названием my_vector. В дальнейшем мы будем использовать такие обозначения довольно часто, и вот создав переменную, дальше можем к ней обращаться, и если мы наберем в консоли или в строке скрипта имя этой переменной, то мы в консоли получим то, что в ней лежит. Нередко нам бывает необходима некоторый вектор, который состоит из чисел отражающих некоторую последовательность. Вот оператор ":" позволяет задать последовательность с шагом единицы. Например, мы можем положить в переменную my_vector, и результаты работы такого кода, и в итоге, если мы обратимся к переменной my_vector, мы увидим здесь последовательность чисел от 1 до 10. Причем можно создавать последовательность в любом направлении, от большего к меньшему или от меньшего к большему. Например, в данном случае, смотрите, мы запускаем последовательность от 0 до -10, которое складываем в переменную my_vector и дальше, когда мы обращаемся к этой переменой, мы видим, что все числа упорядочится от 0 к -10. Другой способ породить последовательность чисел, это использование функции rep(). Английское слово repet, повторить. Синтаксис этой функции прост. Первый аргумент в этой функции, это то, что мы должны повторять, а второе, это то, сколько раз это необходимо повторить. Соответственно, если мы помещаем результаты работы этой функции в переменную my_vector_2, то обратившись к этой переменной, мы увидим, что здесь лежат четыре единицы, потому что повторить четыре раза эту самую единицу. Возможно более сложные случаи. Мы можем многократно повторить некоторый вектор, то есть не одно число, а некоторый вектор. В данном случае мы 4 раза повторим последовательность от 1 до 5. Смотрите, мы говорим повторить 4 раза последовательность от 1 до 5. Если мы активируем ту переменную, куда положили результаты работы этой функции, мы увидим, что четыре раза будет повторен один и тот же вектор. Можно многократно повторять каждый из элементов вектора. Для этого мы немножко изменим запись функции rep, указав в параметры each то, сколько раз должен повториться каждый из элементов вектора, порождаемого последовательностью вызванной работой ":". Соответственно, в данном случае мы увидим, что 4 раза повторится единица, 4 раза повторится двойка. 4 раз повторится тройка, четверка и пятерка. Еще один способ создания последовательности позволяет осуществить функция seq(). В этой функции аргумент from задает то, от какого числа надо начинать последовательность. Параметр to означает число, которым надо закончить последовательность, а параметр by характеризует шаг этой последовательности. Соответственно, в данном случае мы сказали, что будем устанавливать последовательность от одного до десяти с шагом единица. Вот перед вами результаты работы этой функции. Вместо параметра by можно указать параметр lenght_out, который говорит насколько частей должно быть разбита данная последовательность. Соответственно в данном случае мы хотим разбить последовательность от 1 до 10 на 20 отрезков. В результате мы видим какие-то числа, которые являются результатом разбиение этой последовательности на 20 отрезков, и каждый из чисел, это то место, где происходит разрезания этой последовательности, которая располагаться от начала до конца. Это результат применения такой функции.