В этом руководстве я проведу вас через шаги по созданию комплексного плана обучения, который обеспечит вам прочную основу для изучения языка R.

[Отказ от ответственности: этот пост содержит несколько ссылок на мою книгу R Programming for Absolute Beginners, доступную на Amazon]

Для тех, кто не знаком с ним, R — это язык программирования с открытым исходным кодом, который широко используется для анализа данных и статистических вычислений. Это мощный инструмент, который позволяет вам работать с большими наборами данных, создавать визуализации и алгоритмы, среди прочего.

Большинство курсов или материалов по R начинаются с демонстрации того, как работать с DataFrames, читать внешние данные или обучающие модели. Хотя изучение всех этих понятий является важной частью изучения R, есть много других фундаментальных понятий, которые имеют решающее значение для прочной основы языка. Освоение этих основ является ключевым, и благодаря этому вы сможете использовать R более эффективно и результативно, избегая распространенных ошибок и головных болей, которые могут возникнуть при работе с языком.

Хотя может показаться заманчивым сначала перейти к более практическим примерам, важно уделить время изучению основополагающих понятий, таких как структуры данных или типы данных. Например, одним из ключевых аспектов работы с R является понимание того, как хранить данные и как это связано с объектами R. Векторы, массивы, матрицы и списки — все это фундаментальные структуры данных, которые позволяют хранить данные и манипулировать ими, и они содержат множество свойств, которые делают их уникальными.

Моя последняя книга следует проверенной структуре того, как подойти к языку R, и отправляет вас в путешествие по изучению языка R с нуля — этот метод помог более чем 8000 студентам по всему миру (на Udemy), помогая им освоить язык , даже если у них не было опыта программирования. В этом сообщении блога я подробно расскажу о различных концепциях, описанных в книге, и о процессе обучения, который я разработал, чтобы помочь студентам освоить R.

Прежде чем мы начнем детализировать каждый шаг, вот небольшой обзор того, что мы обсудим:

Первый — вектор R

В книге R Programming for Absolute Beginners мы начнем с рассмотрения самого простого объекта R — вектора R.

В R вектор — это базовая структура данных, в которой хранится последовательность элементов одного типа. Векторы часто используются для хранения данных, которые можно легко представить в непрерывном виде, например в виде последовательности чисел или строк. Векторы можно создавать разными способами, например, с помощью функции c(), что означает «объединить», или с помощью среза (например, 1:10).

Пример того, как создать вектор R, следующий:

example <- c(1, 2, 3, 4, 5)

Векторы обладают несколькими важными свойствами: их можно индексировать, они одновременно содержат один тип и являются одномерными объектами.

Управление векторами R

Далее, после создания и построения наших первых R-векторов, в книге рассматриваются две общие операции, которые вы будете выполнять с R-объектами:

  • Элементы индексации.
  • Изменение структур данных (добавление, удаление или изменение элементов).

Во-первых, мы рассмотрим, как создавать подмножества векторов, используя квадратные скобки [] в сочетании с числовым индексом, именованным или логическим вектором. Мы подробно рассмотрим все эти методы индексирования, используя несколько примеров кода.

Мы также проверим несколько способов изменения или удаления элементов в R, в частности, изучим, как мы можем использовать индексирование для добавления, удаления или изменения векторных элементов.

Примером этого является использование оператора подмножества — представьте, что вы хотите удалить второй элемент из вектора x, вы можете использовать следующий код: x[-2]: это создаст новый вектор, который содержит все элементы x, кроме второго элемента. .

В целом, главы, которые следуют за введением в Vectors, будут сосредоточены на манипулировании объектами в R и ознакомлении с добавлением, изменением или удалением элементов — важными приемами для освоения языка R.

Типы данных

Одной из наиболее важных характеристик R-вектора является то, что он может одновременно хранить только один тип. Этот факт подводит нас к одному из самых важных компонентов языка — типам данных R!

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

Числовые типы данных включают целые числа и числа с плавающей запятой: целые числа — это целые числа, а числа с плавающей запятой — числа, содержащие десятичные точки. Типы числовых данных часто используются для хранения и обработки числовых данных, таких как подсчеты, измерения или статистика. С другой стороны, символьные типы данных обычно используются для хранения текстовых данных, таких как имена или описания.

Выбор подходящего типа данных для ваших данных имеет решающее значение. Использование неправильного типа данных может привести к ошибкам или неожиданным результатам в вашем анализе, поскольку типы данных определяют, какие типы операций вы можете выполнять с объектом R!

Расширение R — многотипные и многомерные объекты

Конечно, мы не ограничены в использовании объектов одного типа или одного измерения в R. Массивы, матрицы или списки — это объекты, которые дают нам дополнительные функции, чрезвычайно важные для анализа данных и научных конвейеров.

В R матрица — это двумерный набор данных со строками и столбцами. Матрицы создаются с помощью функции matrix (или с помощью команды array путем передачи двух измерений), которая принимает вектор данных и необязательные аргументы для количества строк и столбцов. Например:

# Create a 2x3 matrix with 6 elements
m <- matrix(1:6, nrow = 3, ncol = 2)

Это создает матрицу с 3 строками и 2 столбцами, содержащими элементы с 1 по 6.

Массив также является многомерным объектом (как правило, с более чем двумя измерениями), и они создаются с помощью функции array, которая принимает вектор данных и вектор измерений. Например:

# Create a 3-dimensional array with dimensions 2x3x4
a <- array(1:24, dim = c(2, 3, 4))

Это создает массив с 2 строками, 3 столбцами и 4 срезами, содержащими элементы от 1 до 24. Доступ к нескольким измерениям с помощью индексов прост — мы просто открываем новые запятые в нашем операторе []!

# Access the element at row 2, column 3, and slice 4
a[2, 3, 4]

С другой стороны, список — это набор объектов в R, который может состоять из разных типов и размеров. Списки являются наиболее гибкими объектами языка и создаются с помощью функции list, принимающей ряд объектов в качестве аргументов. Например:

#Create a list with a vector, a numeric vector, and a matrix
l <- list(c("a", "b"), c(1, 10, 100), matrix(1:9, nrow = 3))

Эта простая команда создает список из 3 элементов: вектор символов, числовой вектор и матрица.

На этом этапе обучения, после изучения нескольких типов объектов R, нам все еще не хватает самого известного — фрейма данных!

Исследование фреймов данных

Возможно, самым важным объектом R является фрейм данных. В книге мы посвятим целых две главы подробному описанию того, как мы можем работать с этим знаменитым объектом R, и шаг за шагом пройдемся по обычному конвейеру, которому можно следовать при работе с этим табличным форматом.

Фреймы данных похожи на матрицы, но у них есть огромная разница: каждый столбец может иметь разный тип (числовой, символьный, факторный и т. д.), что является большим преимуществом при сравнении обоих объектов.

Вы можете создать фрейм данных в R, используя функцию data.frame, которая принимает ряд векторов в качестве аргументов. Каждый вектор в конечном итоге станет столбцом в новом объекте:

# Create a data frame with three columns: "Name", "Age", and "Degree"
students <- data.frame(Name = c("Alice", "Joe", "John"),
                 Age = c(20, 21, 19),
                 Gender = c("Mathematics", "History", "Literature"))

Это создает фрейм данных с 3 строками и 3 столбцами, содержащими имена, возраст и пол трех человек.

Фреймы данных также имеют специальный атрибут row.names, который определяет имена строк фрейма данных. Вы можете получить доступ к именам строк, используя функцию row.names, или вы можете установить их, используя ту же команду. Например:

# Get the row names of the data frame
row.names(students)

# Set up Rows for the Data Frame
row.names(students) <- c("Student 1", "Student 2", "Student 3")

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

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

Библиотеки и работа с файлами

Библиотеки R — это наборы функций, данных и документации R, которые предоставляют дополнительные возможности языку программирования R.

После установки библиотеки ее можно загрузить в текущий сеанс R с помощью функции knownlibrary.

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

Почему важны библиотеки? Потому что они могут значительно повысить вашу производительность и позволить вам выполнять сложные задачи с минимальным кодом, опираясь на сообщество открытого исходного кода. Поскольку R — это язык с открытым исходным кодом, который опирается на тысячи пользователей по всему миру, язык имеет очень активное и поддерживающее сообщество разработчиков, которые вносят свой вклад в его развитие и делятся своими знаниями и опытом с другими. Это делает его отличным ресурсом не только для внедрения систем науки о данных и машинного обучения, но и для отслеживания новых разработок с точки зрения исследований в отрасли.

Функции

Функции R необходимы для организации и модуляции кода. Функция — это блок кода, который выполняет определенную задачу и может многократно использоваться в программе, помогая пользователям создавать правильное программное обеспечение, которое можно тестировать и которое модульно.

Использование функций в R может значительно повысить вашу производительность и улучшить читабельность и удобство сопровождения вашего кода, помогая вам избежать ошибок в долгосрочной перспективе. Если вы хотите серьезно относиться к своей жизни в качестве аналитика данных или научного сотрудника, очень важно научиться работать с функциями в R.

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

В разделе книги «Функции» мы также рассмотрим другие концепции, которые можно использовать в их контексте: циклы for, циклы while и условные операторы.

Изучение языка программирования R может быть полезным и сложным опытом. Начав с подробного плана обучения и сосредоточившись на основных понятиях, таких как типы данных, структуры данных и управляющие структуры, вы сможете создать прочную основу для изучения языка и будете хорошо подготовлены к изучению более сложных тем. сильный>

Если вы хотите начать работу с R и вам нужен структурированный подход, который поможет вам освоить язык, подумайте о том, чтобы прочитать мою последнюю книгу Программирование на R для начинающих. Я надеюсь, что эта книга с простыми объяснениями и практическими примерами станет отличным ресурсом для всех, кто хочет изучить R с нуля. Если вам доведется прочитать ее в будущем, я также хотел бы получить ваши отзывы об улучшениях и настройках, которые были бы полезны. для будущих студентов!

Вы можете найти мою книгу во всех основных магазинах Amazon, в формате Kindle и в мягкой обложке: