Это руководство представляет собой минимальное руководство по установке и мини-руководство по началу работы. Если вы будете широко использовать R, есть и другие инструменты, которые вы, вероятно, захотите установить и использовать. Я расскажу о некоторых из них в конце этой статьи.
Что такое R и зачем мне его использовать?
R — это язык программирования, созданный для работы с данными и статистикой. Это очень полезно для анализа данных и интеллектуального анализа данных.
Установка
R в основном распространяется через Комплексную сеть архивов R — или CRAN. Некоторые из первых ссылок, которые вы увидите на домашней странице CRAN, — это ссылки для загрузки для Linux, Mac OS и Windows. Поскольку для целей этого руководства мы используем Windows, вы можете нажать Загрузить R для Windows.
На этой странице у вас есть несколько вариантов. Ссылка contrib содержит пакеты для использования с R. Ссылка Rtools содержит инструменты для самостоятельного создания пакетов. Сейчас мы просто хотим установить базовый дистрибутив R, поэтому нажмите базовый.
Первая ссылка на этой странице должна содержать текст Загрузить R [версия] для Windows. Нажмите на это. Когда загрузка завершится, взгляните на другую информацию на этой странице. Есть дополнительные инструкции, список новых функций в последней версии, контрольные суммы для проверки загрузки, часто задаваемые вопросы и некоторая другая информация, если вам интересно.
После завершения загрузки запустите исполняемый файл. Потом…
- Выберите свой язык (возможно, английский, если вы читаете это руководство) и нажмите ОК.
- Нажмите Далее › на экране приветствия.
- Прочтите лицензию GNU и нажмите Далее › еще раз.
- Выберите каталог установки. По умолчанию, вероятно, все в порядке. Когда будете готовы, нажмите Далее ›.
- Официальная документация R рекомендует устанавливать «родную» версию для вашей операционной системы. Если вы используете 32-разрядную операционную систему, выберите 32-разрядная установка пользователя в раскрывающемся меню. Если вы используете 64-разрядную операционную систему, выберите 64-разрядная установка пользователя. Если вы не уверены, какую версию используете, нажмите Win + Pause и посмотрите в разделе Тип системы. Когда будете готовы, нажмите Далее ›.
- Теперь вас спросят, хотите ли вы настроить параметры запуска. Значения по умолчанию подходят, поэтому просто выберите Нет (принять значения по умолчанию) и нажмите Далее ›.
- Нажмите Далее › в параметрах папки в меню «Пуск», так как мы действительно хотим, чтобы в нашем меню «Пуск» были ярлыки.
- Нажмите Далее › в дополнительных параметрах задач, так как значения по умолчанию подходят.
В этот момент R начнет установку. Когда это будет сделано, нажмите Готово, чтобы выйти из программы установки.
Использование R
Поздравляем! Р установлен. Теперь, что мы можем с этим сделать? R очень мощен, и с его помощью можно так много сделать. Тем не менее, сегодня я просто покажу несколько функций.
Для начала нам понадобятся некоторые данные. Для всех этих примеров я буду использовать следующие данные CSV. Скопируйте и вставьте приведенные ниже данные в новый файл с именем students.csv и сохраните его в папке Этот компьютер › Документы.
school, grade, firstName, lastName, attHrs, absHrs Lincoln, 2, Elizabeth, Brooks, 100, 12 Washington, 2, Hailey, Walker, 293, 34 Washington, 1, Joseph, Powell, 485, 56 Central, 2, Anna, Simmons, 484, 7 Lincoln, 3, Isaac, Washington, 320, 13 Washington, 3, Jack, Thompson, 129, 25 Central, 3, Daniel, Bell, 345, 37 Lincoln, 1, Anna, Reed, 73, 48 Central, 1, Caleb, Barnes, 284, 0
Следующим шагом будет импорт этих данных в среду R. Запустите RGui, нажав Пуск › Все приложения › R › R x64 3.3. .1 (ваша версия может отличаться, но похожа на мою).
В RGui должно появиться окно R Console. Здесь вы можете вводить различные команды для управления R. Сначала давайте импортируем данные из student.csv и сохраним их в переменной students.
students = read.csv("students.csv")
Если что-то пошло не так, скорее всего, R не смог найти файл students.csv. По умолчанию RGui ищет в Этот компьютер › Документы, но если вы сохранили файл в другом месте, вы можете переключиться в нужный каталог, нажав Файл › Изменить каталог…
Пока все работает правильно, вы сможете просто ввести students, и он должен вывести наши данные на консоль.
> students school grade firstName lastName attHrs absHrs 1 Lincoln 2 Elizabeth Brooks 100 12 2 Washington 2 Hailey Walker 293 34 3 Washington 1 Joseph Powell 485 56 4 Central 2 Anna Simmons 484 7 5 Lincoln 3 Isaac Washington 320 13 6 Washington 3 Jack Thompson 129 25 7 Central 3 Daniel Bell 345 37 8 Lincoln 1 Anna Reed 73 48 9 Central 1 Caleb Barnes 284 0
Тип данных переменной students называется фрейм данных. Фреймы данных похожи на «таблицы» данных.
Сортировка
Если, например, вы хотите отсортировать фрейм данных студенты по школе, затем по классу, затем по фамилии, а затем по имени, вы можете использовать функцию order. Функция order возвращает перестановку, которая упорядочивает аргументы. В этом случае используйте его так:
> students[ order(students[,1], students[,2], students[,4], students[,3]), ] school grade firstName lastName attHrs absHrs 9 Central 1 Caleb Barnes 284 0 4 Central 2 Anna Simmons 484 7 7 Central 3 Daniel Bell 345 37 8 Lincoln 1 Anna Reed 73 48 1 Lincoln 2 Elizabeth Brooks 100 12 5 Lincoln 3 Isaac Washington 320 13 3 Washington 1 Joseph Powell 485 56 2 Washington 2 Hailey Walker 293 34 6 Washington 3 Jack Thompson 129 25
Порядок задается в качестве аргументов. Чтобы получить школу (столбец 1), класс (столбец 2), фамилию (столбец 4), имя (столбец 3), аргументы должны быть в порядке 1, 2, 4, 3.
Если вам нужен убывающий порядок, вы можете сделать аргумент отрицательным, например:
> students[ order(students[,1], -students[,2], students[,4], students[,3]), ] school grade firstName lastName attHrs absHrs 7 Central 3 Daniel Bell 345 37 4 Central 2 Anna Simmons 484 7 9 Central 1 Caleb Barnes 284 0 5 Lincoln 3 Isaac Washington 320 13 1 Lincoln 2 Elizabeth Brooks 100 12 8 Lincoln 1 Anna Reed 73 48 6 Washington 3 Jack Thompson 129 25 2 Washington 2 Hailey Walker 293 34 3 Washington 1 Joseph Powell 485 56
Обратите внимание на знак минус перед students[,2] и обратите внимание, как второй столбец (оценка) теперь отсортирован в порядке убывания после сортировки по столбцу 1 (школа).
Добавление вычисляемого столбца
Предположим, вы хотите добавить новый столбец во фрейм данных students, в котором указано общее количество часов, которые учащийся мог посещать в школе. Мы назовем этот столбец memHrs, и он будет представлять собой сумму attHrs и absHrs. Используйте эту команду:
> students$memHrs <- students$attHrs + students$absHrs
Если мы снова посмотрим на студентов, мы увидим добавленный столбец!
> students school grade firstName lastName attHrs absHrs memHrs 1 Lincoln 2 Elizabeth Brooks 100 12 112 2 Washington 2 Hailey Walker 293 34 327 3 Washington 1 Joseph Powell 485 56 541 4 Central 2 Anna Simmons 484 7 491 5 Lincoln 3 Isaac Washington 320 13 333 6 Washington 3 Jack Thompson 129 25 154 7 Central 3 Daniel Bell 345 37 382 8 Lincoln 1 Anna Reed 73 48 121 9 Central 1 Caleb Barnes 284 0 284
Преобразование столбца в фактор
Предположим, что при загрузке фрейма данных students R считал столбец grade целым числом. Оно выглядит как целое число. Это просто целые числа. Но на самом деле это всего лишь дискретное число, описывающее класс, в котором учится ученик. Мы не будем делать никаких вычислений по классу, и, кроме того, что, если бы ученик был в «детском саду»? Это не может быть представлено в виде целого числа. Оценка должна быть множителем, а не целым числом. Чтобы факторизовать этот столбец, используйте эту команду:
> students$grade <- factor(students$grade)
Слияние с процессом в стиле ВПР
В этом сценарии давайте введем «школьные коды». Например, с каждой школой связан школьный код. Вот как выглядят коды в формате CSV. Сохраните эти данные как schoolCodes.csv.
name, code Central, 101 Lincoln, 102 Washington, 103
Теперь импортируйте коды в виде фрейма данных.
> schoolCodes = read.csv("schoolCodes.csv") > schoolCodes name code 1 Central 101 2 Lincoln 102 3 Washington 103
Мы хотим добавить столбец code из schoolCodes во фрейм данных students на основе столбца school ( который содержит название школы). Используйте эту команду:
> students$schoolCode <- merge(codes, students, by.x=”name”, by.y=”school”)$code
Функция merge() сама по себе возвращает все объединенные кадры данных. Добавляя $code в конец, мы возвращаем только столбец code. В начале этой команды вы можете видеть, что мы устанавливаем (новый) столбец schoolCode в это значение.
> students school gra firstName lastName attHrs absHrs memHrs schoolCode 1 Lincoln 2 Elizabeth Brooks 100 12 112 102 2 Washington 2 Hailey Walker 293 34 327 103 3 Washington 1 Joseph Powell 485 56 541 103 4 Central 2 Anna Simmons 484 7 491 101 5 Lincoln 3 Isaac Washingt 320 13 333 102 6 Washington 3 Jack Thompson 129 25 154 103 7 Central 3 Daniel Bell 345 37 382 101 8 Lincoln 1 Anna Reed 73 48 121 102 9 Central 1 Caleb Barnes 284 0 284 101
Если вы хотите узнать больше о языке R, я бы посоветовал начать с Поваренной книги для R. Когда вы будете готовы начать расширять R, вы захотите использовать некоторые пакеты. Пакеты предоставляют расширенные функции в R, которые могут быть очень полезны для более эффективного анализа данных. Пакеты можно устанавливать через консоль или через интерфейс RGui. Вы можете найти пакеты в репозитории пакетов CRAN.