Введение в R версия 3.5.2 (2018-12-20). Заметки по R: среда программирования для анализа данных и графики

Текст
0
Отзывы
Читать фрагмент
Отметить прочитанной
Как читать книгу после покупки
Введение в R версия 3.5.2 (2018-12-20). Заметки по R: среда программирования для анализа данных и графики
Шрифт:Меньше АаБольше Аа

Переводчик Александр Александрович Фоменко

© У. Н. Венэбльз, 2019

© Д. М. Смит, 2019

© Александр Александрович Фоменко, перевод, 2019

ISBN 978-5-4496-6153-1

Создано в интеллектуальной издательской системе Ridero

Предисловие

Данное введение в R получено из исходного набора примечаний, описывающих среду S и SPlus, написанных в 1990—2 Биллом Венэбльзом и Дэвидом М. Смитом в университете Аделаиды. Сделано много небольших изменений для отражения различий между программами R и S, и развернули часть материала.

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

Комментарии и исправления всегда приветствуются. Пожалуйста, адресуйте корреспонденцию на электронную почту R-core@R -project.org.

Предложения читателю

Большинство новичков R начнет с вводного сеанса в Приложении A. Он познакомит со стилем сеансов R и, что еще более важно, даст некоторое впечатление о том, что фактически происходит.

Многие пользователи придут в R, главным образом, из-за его средств графики. Смотри Главу 12 [Графика], которую можно прочесть в почти любое время и не следует ожидать усвоения всех предыдущих разделов.

О переводе

Данная книга является переводом документации, доступной на английской языке в составе дистрибуции R. После установки оригинал перевода доступен по адресу \каталог R\doc\manual\R-intro. Если данный файл перевода переименовать в R-intro и заменить оригинальный файл на данный, то из справки по R будет доступен данный перевод.

Перевод выполнен полностью за некоторыми отличиями:

– в частично исключены тексты, относящиеся к иным ОС, кроме Windows;

– исключены справочные приложения, в которых были собраны ссылки на функции и термины в английском тексте;

– расширен раздел по пакетам за счет описания пакетов, применяемым в эконометрике.

Переводчик будет благодарен за выявленные ошибки и неточности.

1. Введение и предварительные замечания

1.1. Среда R

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

– эффективная обработка и хранение данных,

– набор операторов для вычислений на массивах, особенно матрицах,

– цельная, непротиворечивая, комплексная коллекция утилит для анализа данных,

– графические средства для анализа данных и отображения или непосредственно на компьютере или при выводе на печать, и

– хорошо разработанный, простой и эффективный язык программирования (называемый «S»), который включает условные выражения, циклы, определяемые пользователем рекурсивные функции и средства ввода и вывода. Действительно, большинство поддерживаемых системой функций сами написаны на языке S.

Термин «окружение/среда» предназначен, чтобы характеризовать ее как полностью запланированную и последовательную систему, а не постепенно возникшего конгломерата весьма специфических и негибких инструментов, как часто имеет место с другим программным обеспечением анализа данных.

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

1.2. Связанное программное обеспечение и документация

R можно рассмотреть как реализацию языка S, который разработан в Bell Laboratories Риком Беккером, Джоном Чемберсом и Алланом Уилксом, и который собственно лежит в основе систем S-Plus.

Эволюция основ языка S характеризуется четырьмя книгами Джона Чемберса с соавторами. Для R основой является «Новый Язык S: Среда программирования для анализа данных и графики», написанной Ричардом А. Беккером, Джоном М. Чемберсом и Алланом Р. Уилксом. Новые функции S, опубликованные 1991, даны в «Статистических моделях в S», отредактированном Джоном М. Чемберсом и Тревором Дж. Хэсти. Формальные методы и классы пакета методов основаны на описанных в «Программировании с данными» Джоном М. Чемберсом. См. Приложение F [Ссылки], для точной ссылки.

Сейчас есть много книг, которые описывают использование R для анализа данных и статистики, и документация для S/S-Plus может, как правило, использоваться с R, если помнить различия между реализациями S.

1.3. R и статистика

Наше введение в среду R не упоминает статистику, но много людей используют R в качестве системы статистики. Будем думать о ней как о среде, в пределах которой были реализованы много классических и современных статистических методов. Некоторые из них встроены в основу среды R, но многие предоставлены как пакеты. В составе R существует около 25 пакетов (названных «стандартными» и «рекомендуемыми» пакетами), и еще больше доступно через семейство сайтов CRAN (через http://CRAN.R -project.org) и из других источников. Более подробную информацию о пакетах рассмотрим позже (см. Главу 13 [Пакеты]).

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

Есть важное различие в философии между S (и, следовательно, R) и другими основными статистическими системами. В S статистический анализ обычно делается как ряд шагов с промежуточными результатами, сохраненными в объектах. Таким образом, тогда как SAS и SPSS дадут обильные результаты регрессионного или дискриминантного анализа, R выведет минимум результатов и сохранит их в подогнанном объекте для последующего использования функциями R.

1.4. R и система Window

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

Большинство пользователей, время от времени, непосредственно сталкивается с операционной системой на своем компьютере. В этом руководстве, главным образом, обсуждается взаимодействие с операционной системой на машинах UNIX. Если R исполняется под Windows или Mac OS, то будет необходимо внести некоторые небольшие корректировки.

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

1.5. Использование R в интерактивном режиме

При использовании программы R она выдает запрос ожидания входных команд. Запрос по умолчанию ‘>», который на UNIX совпадает с запросом оболочки, и таким образом, может казаться, что ничего не происходит. Однако, как увидим, при желании легко изменить на другой запрос R. Предположим, что запрос оболочки UNIX – «$».

В использовании R под UNIX предложенная процедура для первого случая следующая:

– Создать отдельный подкаталог, скажем ’work’ для файлов с данными, на которых будет использоваться R. Он будет рабочим каталогом всякий раз при использовании R для этой определенной задачи.

 
$ mkdir work
$ cd work
 

– Начать программу R командой

 
$ R
 

– Здесь можно давать команды

– Для завершения программы R введите:

 
q ()
 

В этом этапе Вас спросят, хотите ли Вы сохранить данные своего сеанса R. На некоторых системах это будет сделано с помощью диалогового окна, а на других Вы получите текстовый запрос, на который Вы можете ответить «да», «нет» или «отмена» (достаточно будет ввести первую букву) для сохранения данных перед выходом, выйти без сохранения, или вернуться в сеанс R. Сохраненные данные будут доступны в будущем сеансе R.

Дальнейшие сеансы R требуют меньше действий.

– Сделайте ’work’ рабочим каталогом и запустите программу как прежде:

 
$ cd work
$ R
 

– Используйте программу R, которая завершится командой q () в конце сеанса.

Для использования R под Windows процедура в основном такая же. Создайте папку как рабочий каталог, и установите его в поле «Start In’ ярлыка R. Затем запустите R, дважды щелкая по иконке.

1.6. Первый сеанс

Читателям, желающим испытать R на компьютере, прежде чем приступить настоятельно советуем проработать вводный сеанс, данный в Приложении A [Сеанс выборки].

 

1.7. Получение справки по функциям и средствам

У R есть встроенное справочное средство. Для получения дополнительной информации о любой определенной именованной функции, например solve, напишите команду:

 
> help (solve)
 

Альтернатива:

 
>? solve
 

Для средств, указанных специальными символами, параметр должен быть включен в двойные или одинарные кавычки, делая его «символьной строкой»: это также необходимо для нескольких слов с синтаксическим значением, включая if, for и function.

 
> help (» [[»)
 

Может использоваться любая форма символа кавычки для исключения других кавычек, как в строке, «It’s important». Наше соглашение состоит в предпочтительности использования символа двойной кавычки.

На большинстве установок R справка доступна в формате HTML, достаточно выполнить:

 
> help.start ()
 

что запустит Веб-браузер, предоставляющий возможность использовать гиперссылки в справке. Ссылки «Search Engine and Keywords’ на странице, загруженной help.start (), особенно полезны, так как содержат высокоуровневый список понятий, используемый при поиске доступных функций. Это может оказаться отличным способом быстро решить проблемы и понять широкий спектр возможностей R.

Команда help.search (альтернативно??) позволяет искать справку различными способами.

Например,

 
>?? solve
 

Попробуйте ?help.search для деталей и большего количества примеров.

Пример на теме справки обычно можно выполнить:

 
> example (topic)
 

У версий R для Windows есть другие дополнительные системы справочной информации. Используйте:

 
>?help
 

для получения дальнейшей информации.

1.8. Команды R, учет регистра и т. д.

Технически R является языком выражений с очень простым синтаксисом. Он учитывает регистр, как большинство других программ UNIX, таким образом, A и а являются различными символами и ссылаются на разные переменные. Набор символов, которые могут использоваться для имен R, зависит от операционной системы и страны, в которой R исполняется (технически говоря, от используемой локализации – locale). Обычно разрешены все алфавитно-цифровые символы плюс».» и «_», с ограничением, что имя должно начинаться с».» или буквы, и если начинается с».», то второй символ не может быть цифрой. Имена в фактически неограниченны.

Для портативного кода R (включая использовуемый в пакетах R) должна использоваться только A—Za—z0—9.

Простые команды состоят из выражений (expression), либо присвоений (assignments). Если выражение вводится как команда, то оно вычисляется, выводится (пока специально не сделано невидимым) и значение теряется. Присвоение также вычисляет выражение и передает значение переменной, но результат автоматически не выводится.

Команды разделены либо точкой с запятой (»;»), либо новой строкой. Простые команды могут группироваться в одно составное выражение фигурными скобками (» {» и»}»). Комментарии могут быть помещены практически где угодно, начинаясь со знака «решетки» («#»), при этом все до конца строки является комментарием.

Если команда не полна в конце строки, то R даст особое приглашение, по умолчанию:

 
+
 

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

Командные строки, вводимые на консоли, ограничены в размере доя 4095 байт (не символов).

Бесплатный фрагмент закончился. Хотите читать дальше?
Купите 3 книги одновременно и выберите четвёртую в подарок!

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

  1. Нажмите на многоточие
    рядом с книгой
  2. Выберите пункт
    «Добавить в корзину»