КАЗАНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
Факультет географии и экологии
Основные понятия языка R
Учебно-методическое пособие
КАЗАНЬ - 2007
Составители:
доктор биологических наук, доцент А.А.Савельев,
старший преподаватель С.С.Мухарамова,
старший преподаватель А.Г.Пилюгин
Е.А.Алексеева
Учебно-методическое пособие предназначено для студентов естественных факультетов, изучающих курс «Теория вераятности и математическая статистика». Даются основные понятия языка R, разбираются примеры использования операторов, методы анализа и обработки. предназначенной для выполнения практических заданий по курсам «ГеостАТИСТИКА» и «Теория вераятности и математическая статистика». Печатается по решению учебно-методической комиссии факультета географии и экологии
Введение 3
1. Основные операторы 4
1.1. Оператор <- 4
1.2. Отображение и удаление объектов в памяти 4
1.3. Вызов справки 5
2. Данные в R 6
2.1. Объекты 6
2.2. Чтение данных из текстового файла 7
2.3. Сохранение текстовых данных 10
2.4. Таблицы произвольной структуры 11
2.5. Загрузка и запись данных 13
2.6. Генерация (создание) данных 14
2.7. Управление объектами 17
3. Графики в R 22
3.1. Управление графическими окнами 22
3.2. Графические функции 23
3.3. Команды управления графиками нижнего уровня 25
3.4. Графические параметры 26
Список литературы. 28
Введение
Цель этого пособия состоит в том, чтобы дать отправную точку для людей, недавно заинтересовавшихсясистемойR.
R – статистическая система анализа, созданная Россом Ихакой и Робертом Гентлеманом (1996, J.Comput. Граф. Stat., 5: 299-314).R является и языком и программным обеспечением; его наиболее замечательный особенности:
• эффективная обработка данных и простые средства для сохранения результатов,
• набор операторов для обработки массивов, матриц, и других сложных конструкций,
• большая, последовательная, интегрированная коллекция инструментальных средств для проведения статистического анализа,
• многочисленные графические средства,
• простой и эффективный язык программирования, который включает много возможностей.
Язык R - рассматривают как диалект языка S созданный AT&T БэллЛаборатории. S доступен как программное обеспечение S-PLUS коммерческой системы MathSoft (см.http://www.splus.mathsoft.com для получения дополнительной информации). Есть существенные различия в концепции R и S (те, кто хочет знатьбольше об этом может читать статью, написанную Gentleman и Ihaka (1996) или R-FAQ (часто задаваемые вопросы) (http://cran.r-project.org/doc/FAQ/R-FAQ.html).
R доступен в нескольких формах: исходный текст программ, написанный на C (и некоторые подпрограммы в Fortran77) и в откомпилированном виде.
R – язык со многими функциями для выполнения статистического анализа и графического отображения результатов, которые визуализируется сразу же в собственном окне и могут быть сохранены в различных форматах (например, jpg, png, bmp, eps, или wmf под Windows, ps, bmp, pictex под Unix).
Результаты статистического анализа могут быть отображены на экране. Некоторые промежуточные результаты (P- values, коэффициент регрессии и т.п.) могут быть сохранены в файле и использоваться для последующего анализа.
R – язык, позволяющий пользователю использовать операторы циклов, чтобы последовательно анализировать несколько наборов данных. Также возможно объединить в отдельную программу различные статистические функции, для проведения более сложного анализа.
Сначала,R может показаться слишком сложным для неспециалиста (например, биолога). На самом деле это не так. Главная особенностьR – ее гибкость. Например, анализ может быть сделан без отображения результата. Действительно, иногда необходима только часть результатов, которая представляет интерес.
Основные операторы
Инсталлированная система R запускается вызовом файла (RGui.exe или Rterm.exe R под Unix). Появившееся подсказка ‘>’ указывает, что R ждет ваших команд. Под Windows, некоторые команды, связанные с операционной системой (доступ к справке, открытию файлов...) могут быть выполнены с помощью выпадающего меню, но большинство необходимо набирать на клавиатуре.
На первом этапе необходимо изучить три вещи: создание и изменение элементов, сохранение и удаление объектов из памяти, и доступ справке (помощь).
1.1. Оператор <-
R – объектно-ориентированный язык: переменные, данные, матрицы, функции, результаты, и т.д., хранятся в оперативной памяти компьютера в форме объектов, которые имеют имя. Для отображения его значения необходимо напечатать название объекта. Например, для отображения значения объекта n:
> n
[1] 10
Цифра 1 в скобках указывает, что отображается первый элемент n, который имеет значение 10.
Для того чтобы присвоить значение объекту используется символ " <- ". Этот символ пишется вместе со знаком минус так, чтобы они представляли стрелку, которая может быть направлена слева направо, или наоборот:
> n <- 15
> n
[1] 15
> 5 -> n
> n
[1] 5
Значение также, может быть результатом арифметического выражения:
> n <- 10+2
> n
[1] 12
Можно просто напечатать выражение, не присваивая ему название, тогда результат будет отображен на экране, но не сохранен в памяти:
> (10+2) *5
[1] 60
Отображение и удаление объектов в памяти
Функция ls() показывает объекты, находящиеся памяти, отображая только их названия.
> name <- "ВОЛГА"; n1 <- 10; n2 <- 100; m <- 0.5
> ls()
[1] "m" "n1" "n2" "name"
При записи нескольких команд в одной строке, для того чтобы отделить одну команду от другой используется символ "; " (точка с запятой).
Если объектов в памяти много, может быть целесообразно, перечислить только те объекты, в названии которых содержатся определенные символы. Это может быть сделано с помощью параметра pattern (который может быть сокращен: pat):
> ls(pat = "m.")
[1] "m" "name"
Если мы хотим ограничить список объектов, например, названиями которые начинаются с этого символа:
> ls(pat = " ^ m.")
[1] "m"
Чтобы показать характеристики объектов, можно использовать функцию ls.str():
> ls.str()
n1: num 10
n2: num 100
name: chr "name"
По умолчанию, ls.str() отображает все характеристики объекта, включая столбцы данных, матрицы и списки, которые могут привести к очень длинному выводу для составных объектов.
> М. <-data.frame (n1, n2, m)
> ls.str(pat = "M.")
M: ‘data.frame’: 1 Обь. из 3 переменных:
$ n1: цифровой 10
$ n2: цифровой 100
$ м.: цифровой 0.5
Для определения уровня подробностей отображения составных объектов с помощью функции ls.str() используется параметр max.level
> ls.str(pat = "M.", max.level =-1)
M: ‘data.frame’: 1 Обь. из 3 переменных:
Для удаления объекта из памяти, используется функция rm(): rm(x)удалит объект x, rm(x, y) - объекты x и y, rm(list=ls())– удалит все объекты. Упомянутые выше варианты для функции ls() можно также использовать, выборочного удаления объектов:
>rm (list=ls(pat = "m"))
Вызов справки
СправкаR дает некоторую очень полезную информации относительно того, как использовать функции.
Справку в формате html вызывают, печатая:
> help.start()
Поиск с ключевыми словами возможен со справкой html. Поиск функций может быть сделан при помощи оператора apropos ("что"), который выводит список имен функции с "что" в их имени:
> apropos("anova")
[1] "anova" "anova.glm" "anova.glm.null" "anova.glmlist"
[5] "anova.lm" "anova.lm.null" "anova.mlm" "anovalist.lm"
[9] "print.anova" "print.anova.glm" "print.anova.lm" "stat.anova"
Справка доступна и в текстовом формате для конкретной функции, например:
>?lm
отображает файл справки для функции lm(). Функция help(lm) или help("lm") имеет тот же самый эффект. Эта последняя функция используется, чтобы обратиться к справке c нетрадиционными символами:
>? *
Ошибка: синтаксическая ошибка
> help ("*")
Арифметика package:base R Документация
Арифметические Операторы.
Данные в R
Объекты
R работает с объектами, которые имеют два встроенных атрибута: тип данныхи длина. Тип данных – вид элемента; имеются четыре типа данных: num(числовой), char(символьный), complex(комплексный) и logical(логический). Длина - общее количество элементов объекта. Приведем список возможных типов данных для различных объектов
Возможные типы данных для R объектов:
Объект | Возможные типы данных | Использование в объекте нескольких типов данных |
vector | числовой, символьный, комплексный, логический | Нет |
factor | числовой, символьный | Нет |
array | числовой, символьный, комплексный, логический | Нет |
matrix | числовой, символьный, комплексный, логический | Нет |
data.frame | числовой, символьный, комплексный, логичный | Да |
Ts | числовой, символьный, комплексный, логический | Да |
List | числовой, символьный, комплексный, логический, функция, выражение, формула | Да |
vector (вектор) – обычная переменная.
factor (фактор) – категорийная переменная.
array (массив) – таблица с k измерениями
matrix (матрица) – частный случай массива с k = 2. У массива и матрицы все элементы одного и того же типа.
Data.frame– таблица состоящая из нескольких векторов одинаковой длины, но возможно различных типов.
Ts – набор данных временного ряда, содержащий дополнительные атрибуты, такие как: частота и дата.
Среди несвойственных атрибутов объекта, может быть: dim (размерность) - который соответствует измерениям многомерного объекта. Например, матрица с 2 строками и 2 столбцами имеет для dim, пару значений [2,2], но его длина– 4.
R также различает в названий объектов, заглавные и строчные буквы. Так, x и X используются к различным объектам:
> x <-1; X <-10
> ls ()
[1] "X" "x"
> X
[1] 10
> x
[1] 1