Итак, следующая наша лекция будет о типах данных в языке R, и мы перечислим здесь основные типы. Такие типы, как примитивные, векторы, списки, матрицы, массивы и таблицы «объект-свойство». Примитивными типами в языке R являются базовые векторы, мы видим здесь пример векторов из литералов, составные объекты, специальные объекты языка. Составными являются списки, матрицы, массивы и так далее. Специальные объекты - это операторы, условные операторы, циклы и так далее. Объекты языка R - это, собственно, сами записи, выражения, мы видим, например, такая запись if(1>2), какое-то выражение записано без вычисления его значения, мы смотрим его тип - это объект языка. Функция является примитивным типом, внутренние объекты и объекты байт-кода
Сначала рассмотрим векторы. Как мы уже знаем, векторы могут быть разных типов, векторы типа integer образуются либо с помощью оператора «:», либо явным приведением к этому типу integer от единицы. Объекты типа double, каждый элемент double занимает 8 байт, и записывается это либо в виде числа без точки, либо числа с точкой, либо явным приведением double(). Есть комплексные числа, мы уже говорили про них, есть объекты типа «строка из символов», булевы значения и объекты из байтов типа raw, то есть какие-то данные, которые загружены извне или явно преобразованные к типу raw с помощью функции raw. Мы уже немного знаем про векторы, здесь только добавим что есть такая опция при формировании вектора - это recursive. Если мы указываем recursive=TRUE, и, например, внутри векторы используем в списке, то это значит, что мы извлекаем все элементы из списка и добавляем в этот вектор. Обратите внимание, если мы здесь не пишем recursive=TRUE, то, получается, у нас вектор приводится к списку, а если пишем, то вектор остается вектором.
Следующий элемент - это списки, то есть составные объекты. В качестве примера можно рассмотреть разные три вектора, они разные длины и разного типа, все мы их можем объединить список, при этом у них не теряется типизация. Если мы этот список выводим, смотрим, что в качестве первого элемента списка записан первый вектор, второй элемент списка - второй вектор, третий и так далее. Как мы осуществляем доступ к элементам списка? Если мы указываем в виде двойные квадратные скобки, то мы пытаемся достать непосредственно элемент этого списка, и тип будет совпадать с типом этого элемента. Если мы указываем в одинарные квадратные скобки, то мы берем 2 - значит будет второй элемент списка, но он достанется как список. Эта операция не меняет типа, у нас остается тип список. Мы также можем обращаться к элементам списка с помощью вектора индексов. Здесь мы видим, что к списку обращаемся, хотим взять и первый, и второй элемент. Получаем таким образом список, содержащий и первый, и второй.
Следующим элементом языка, составным элементом, являются массивы. Массивы записываются с помощью функции array, и в качестве первого аргумента передаются сами данные в виде вектора, в качестве второго аргумента размерность. Массивы не ограничены по количеству измерений. Здесь мы видим пример с двумя измерениями, можно больше. Что происходит, когда мы таким образом указываем? Если явно не указано обратное, то элементы записываются, мы видим, что это должна быть матрица 3 на 4, элементы записывается поколоночно, в первой колонке: 1, 2, 3, во второй: 4, 5, 6 и так далее. Теперь, как мы обращаемся к элементам массива? Мы можем одинарной квадратной скобкой обратиться к конкретному элементу вектора, который изначально был задан: десятый элемент будет десятый элемент массива. Можем через запятую указать, если количество запятых на единицу меньше размерности, то мы получаем указание на конкретный элемент массива - в первой строке, во второй колонке. Мы можем также взять полностью колонку или всю строку. Для этого мы просто опускаем соответствующий элемент, мы хотим взять всю первую колонку, тогда мы пишем [,1], если взять всю первую строку, то [1,].
Следующим интересным моментом в массивах является, то что мы можем к массиву обратиться по индексу, который тоже является массивом. Рассмотрим такой пример, у нас есть массив, представляющий собой матрицу два на два, в него записано: 1, 2, 3, 4. Мы хотим обратиться к этому массиву по следующему массиву: тоже матрица два на два, здесь указаны индексы, сначала идет 2, 1, потом 1, 2. Если мы запишем, что в массив x по массиву i мы присваиваем 0, то соответствующее 2, 1 у нас во второй строке и первом столбце присваивается 0, и дальше 1, 2 в первой строке втором столбце присваивается 0. Это очень интересная конструкция.
Следующей конструкцией составной являются матрицы. Матрица - это всегда двумерный массив. При образовании матрицы мы пишем функцию matrix, указываем данные, из которых она образуется, количество строк и столбцов, и также мы можем указать, что этот вектор либо воспринимается поколоночно, либо построчно. Доступ к матрицам аналогичен доступу к массивам.
Наконец, наиболее распространенный тип данных, который используется в языке R — это Data frame. Это такая структура, которая предназначена для применения к ней различных алгоритмов. Образуется эта структура с помощью функции data.frame, внутри указываем через запятую какие-то списки, массивы и присваиваем им определенное имя. Если имя явно не записано, тогда имя берется из того символа, которым обозначается соответствующий объект. Либо можно это имя явно записать.
Более подробно об этом будет рассказано в следующей лекции, в качестве примера в языке R уже заданы некоторые data.frame, например mtcars - это data.frame, в котором перечислены марки машину и соответствующие их параметры. Есть и другие предзаданные data.frame, на которых можно испытывать новые алгоритмы. Спасибо.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.