Самый удобный способ пользоваться R – это использовать графическую рабочую станцию с окнами. Это руководство нацелено на пользователей, у которых есть это средство. В особенности мы будем иногда обращаться к использованию R в Windows, хотя обширный объем того, что сказано, обычно применим к любой реализации среды R.
Большинство пользователей, время от времени, непосредственно сталкивается с операционной системой на своем компьютере. В этом руководстве, главным образом, обсуждается взаимодействие с операционной системой на машинах UNIX. Если R исполняется под Windows или Mac OS, то будет необходимо внести некоторые небольшие корректировки.
Установка рабочей станции, чтобы в полной мере воспользоваться настраиваемыми функциями 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, дважды щелкая по иконке.
Читателям, желающим испытать R на компьютере, прежде чем приступить настоятельно советуем проработать вводный сеанс, данный в Приложении A [Сеанс выборки].
У 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
для получения дальнейшей информации.
Технически R является языком выражений с очень простым синтаксисом. Он учитывает регистр, как большинство других программ UNIX, таким образом, A и а являются различными символами и ссылаются на разные переменные. Набор символов, которые могут использоваться для имен R, зависит от операционной системы и страны, в которой R исполняется (технически говоря, от используемой локализации – locale). Обычно разрешены все алфавитно-цифровые символы плюс».» и «_», с ограничением, что имя должно начинаться с».» или буквы, и если начинается с».», то второй символ не может быть цифрой. Имена в фактически неограниченны.
Для портативного кода R (включая использовуемый в пакетах R) должна использоваться только A—Za—z0—9.
Простые команды состоят из выражений (expression), либо присвоений (assignments). Если выражение вводится как команда, то оно вычисляется, выводится (пока специально не сделано невидимым) и значение теряется. Присвоение также вычисляет выражение и передает значение переменной, но результат автоматически не выводится.
Команды разделены либо точкой с запятой (»;»), либо новой строкой. Простые команды могут группироваться в одно составное выражение фигурными скобками (» {» и»}»). Комментарии могут быть помещены практически где угодно, начинаясь со знака «решетки» («#»), при этом все до конца строки является комментарием.
Если команда не полна в конце строки, то R даст особое приглашение, по умолчанию:
+
на второй и последующих строках и продолжит читать ввод, пока команда синтаксически не полна. Этот запрос может быть изменен пользователем. Мы, как правило, будем опускать приглашение продолжения ввода и обозначим продолжение простым отступом.
Командные строки, вводимые на консоли, ограничены в размере доя 4095 байт (не символов).
R реализует механизм для повторного вызова и выполнения предыдущих команд. Вертикальные клавиши со стрелками на клавиатуре могут использоваться для прокрутки вперед и назад по истории команд. Как только команда локализована таким способом, курсор может быть перемещен в пределах команды, используя горизонтальные клавиши со стрелками, и символы могут быть удалены клавишей DEL или добавлены другими клавишами. Более подробная информация предусмотрена далее: см. Приложение C [Редактор командной строки].
Кроме того, редактор текста Emacs предоставляет более полный механизм поддержки (через ESS – Emacs Speaks Statistic) для интерактивной работы с R. Смотри раздел «R and Emacs» в The R statistical system FAQ.
Если команды были сохранены во внешнем файле, скажем «command. R ’ в рабочем каталоге ’work’, то они могут быть выполнены в любое время в сеансе R командой:
> source («commands. r»)
Для Windows Source также доступен в меню File. Функция sink:
> sink("record.lis»)
отклонит весь последующий вывод консоли во внешний файл ‘record.lis’. Команда
> sink ()
восстановит вывод в консоли еще раз.
Сущности, которые R создает и манипулирует, известны как объекты (object). Они могут быть переменными, массивами чисел, символьными строками, функциями или более общими структурами, построенных из таких компонентов.
Во время сеанса R объекты создаются и хранятся по имени (обсуждается в следующей секции). Команда R:
> objects ()
(также как ls ()) может использоваться для вывода на экран имен (в основном) объектов, которые в настоящий момент хранятся в пределах R. Набор объектов, сохраненных в настоящий момент, называют рабочей областью (workspace).
Для удаления объектов доступна команда rm:
> rm (x, y, z, ink, junk, temp, foo, bar)
Все объекты, создаваемые во время сеанса R, могут храниться постоянно в файле для использования в будущем сеансе R. В конце каждого сеанса R предоставляется возможность сохранить все в имеющиеся в данный момент объекты. Если подтвердить необходимость этого, то объекты записываются в файл, называемый». RData’ в текущем каталоге, а строки команд, использованных в сеансе, сохраняются в файл». Rhistory’.
При последующем запуске R рабочая область загружается из этого файла. Одновременно загружается присоединенная история команд.
Рекомендуется использовать отдельные рабочие каталоги для анализов, проводимых с R. Очень распространено использовать для анализа объекты с именами x и y. Подобные имена часто значимы в контексте отдельного анализа, но может быть довольно трудно решить то, чем они отличаются, если несколько анализов было выполнено в одном и том же каталоге.
R оперирует именованными структурами данных (data structures). Простейшая такая структура – это числовой вектор, который является отдельным объектом, состоящим из упорядоченного набора чисел. Чтобы создать вектор с именем x, скажем, состоящий из пяти чисел, а именно, 10.4, 5.6, 3.1, 6.4 и 21.7, используют команду R:
> x <– c (10.4, 5.6, 3.1, 6.4, 21.7)
Это – оператор присваивания, использующий функцию c (), которая в этом контексте может взять произвольное число аргументов вектора и значением которой является вектор, полученный путем объединения аргументов конец с концом.
С другими параметрами кроме типов векторов, таких как параметры режима списка, действие c () довольно отличается. Посмотрите Раздел 6.2.1 [Конкатенация списков].
Отдельное число, входящее в выражении, трактуется как вектор единичной длины.
Учтите, что оператор присваивания (» <-»), который состоит этих двух символов ‘ <’ («меньше чем») и ‘-’ («минус»), выполняется однонаправленно и «указывает» на объект, получающий значение выражения. В большинстве случаев можно использовать оператор ‘=’ в качестве альтернативы.
Также можно сделать присвоение, используя функцию assign (). Эквивалентный выше приведенному способ присвоения выглядит как:
> assign («x», c (10.4, 5.6, 3.1, 6.4, 21.7))
Обычный оператор <– может считаться синтаксическим сокращением для него.
Присвоения могут также быть сделаны в другом направлении, используя очевидное изменение в операторе присваивания. Таким образом, то же самое присвоение могло быть сделано, используя:
> c (10.4, 5.6, 3.1, 6.4, 21.7) -> x
Если выражение используется в качестве полной команды, значение печатается и теряется. Итак, если бы нам пришлось использовать команду:
> 1/x
то обратные величины пяти значений были бы напечатаны в терминале (а значение x, конечно, не изменилось).
В действительности все еще доступно .Last.value до выпполнения любого другого оператора.
Дальнейшее присваивание:
> y <-c (x, 0, x)
создаст вектор y с 11 элементами, состоящими из двух копий x и нулем между ними.
О проекте
О подписке