отклонит весь последующий вывод консоли во внешний файл ‘record.lis’. Команда

> sink ()

восстановит вывод в консоли еще раз.

1.11. Сохранение данных и удаление объектов

Сущности, которые 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. Подобные имена часто значимы в контексте отдельного анализа, но может быть довольно трудно решить то, чем они отличаются, если несколько анализов было выполнено в одном и том же каталоге.

2. Простые манипуляции; числа и векторы

2.1. Вектора и присваивания

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

то обратные величины пяти значений были бы напечатаны в терминале (а значение