Основы языка R Лекция 3.2 к.ф.-м.н. Павловский Евгений Николаевич.

Презентация:



Advertisements
Похожие презентации
Операторы языка. Арифметические операторы Арифметические операторы Арифметические операторы Арифметические операторы Операторы сравнения Операторы сравнения.
Advertisements

Переменные задаются именами, которые определяют области памяти, в которых хранятся их значения. Значениями переменных могут быть данные различных типов.
ОБЩИЕ СВЕДЕНИЯ О ЯЗЫКЕ ПРОГРАММИРОВАНИЯ ПАСКАЛЬ НАЧАЛА ПРОГРАММИРОВАНИЯ.
Операции Условная операция ? : Если истинно, то результатом будет, иначе. Например, int x = a < b ? a : b вычисляет минимум из a и b.
Лекция 4 Программирование на Паскале. Элементы языка Турбо Паскаль 7.0. Типы данных. Управляющие конструкции.
ВЫРАЖЕНИЯ в DELPHI Выражение - это синтаксическая единица языка, определяющая способ вычисления некоторого значения. В выражении выполняются некоторые.
©ρŧą Базовые конструкции языка.
1 Кубенский А.А. Функциональное программирование. Глава 5. Системы исполнения функциональных программ. Глава 5. Системы исполнения функциональных программ.
Тип, имя и значение переменной. В объектно-ориентированных языках программирования переменные играют такую же важную роль, как и в процедурных языках.
Лекция 2 Типы данных и переменные. Слабый контроль типов Пример: var favNumber; favNumber = 3; favNumber = "Сан-Диего";
ТЕМА: «ПРОВЕРКА УСЛОВИЯ» 8 – 9 класс Логунова Наталия Борисовна учитель информатики и ИКТ высшей категории МОСКВА, 2012.
Глава 6. УПРАВЛЯЮЩИЕ СТРУКТУРЫ Оператор присваивания Простой и составной операторы Условный оператор Оператор множественного выбора Оператор цикла с предусловием.
Переменные и операторы УРОК 2. Переменные ПЕРЕМЕННАЯ – ?... контейнер для хранения данных. Переменная имеет имя – это….? последовательность букв, цифр.
12. Константы в Pascal Простые Именованные Типизированные.
Перегрузка операторов x = a + b результат 1-й операнд2-й операнд оператор По количеству операндов операторы делятся на: унарные (один операнд) бинарные.
Лекция 8 PERL Введение Синтаксис языка. Переменные.
1 Лекция 13 ОСНОВНЫЕ ПОНЯТИЯ ЯЗЫКА Visual Basic For Applications (VBA) План лекции Типы данных VBA Операции над данными VBA Описание типов данных VBA Имена.
Логический тип данных. Логические выражения. Условный оператор.
РНР Изучение языка. Программирование интерактивных WEB-сайтов на языке PHP.
Лекция 14 Тема « Основы программирования на JavaScript. Синтаксис языка » Преподаватель: Халелова Е.Н.
Транксрипт:

Основы языка R Лекция 3.2 к.ф.-м.н. Павловский Евгений Николаевич

Синтаксис 1. Константы (векторы: числовые, буквенные; символы) 2. Операторы (приоритет операций, присвоение) 3. Выражения 4. Управляющие структуры (условный оператор; цикл) 5. Структуры данных (индексы: вектор чисел, вектор логических значений, имена) 2

Векторы: числовые (numeric) Числа, с плавающей точкой, шестнадцатеричные По умолчанию double a:b – диапазон integer Комплексные числа a+bi Предельная точность 2^1023 Предельный размер 2^ >c( , 2^1023, 0x010) [1] e e e+01 >typeof(1) [1] "double" >typeof(1:1) [1] "integer" >0-1i * -1+1i [1] 0+2i >2^ == 2^1023 [1] TRUE

Векторы: буквенные (character) Кавычки (одиночная ', двойная " ) c – combine – тоже вектор 4 >"слово"; 'тоже слово'; "'однако'" [1] "слово" [1] "тоже слово" [1] "'однако'" >"\"то же\""=='"то же"' [1] TRUE >'\'кавычки\''=="'кавычки'" [1] TRUE >c("Ночь","улица","фонарь","аптека") [1] "Ночь" "улица" "фонарь" "аптека"

Символы Это объекты Начинаются с буквы Могут содержать точки (. ), другие буквы, подчерк ( _ ), числа В обратных кавычках `` могут содержать любые символы Любой символ может быть переопределён, кроме if, else, repeat, while, function, for, in, next, break, TRUE, FALSE, NULL, Inf, NaN, NA, NA_integer_, NA_real_, NA_complex_, NA_character_,...,..1,..2,..3,..4,..5,..6,..7,..8,..9 5 >x_

Операторы Оператор – это унарная или бинарная функция Особая запись: `унарный оператор` x x `бинарный оператор` y Можно определить % свой_оператор % x c(1 + 2, 3 * 4, 5 % 6, 3 ^ 7, 9 %/% 4) [1] >`%++%`1 %++% 2 [1] 6 >`[`(x,1) [1] -1 >sum(1:50) # sum – 1 ый аргумент, 1: ой [1] 1275

Приоритет операций Вызов функции, группировка выражений Индексы и обращения Арифметические Сравнение Формулы Присвоение Помощь 7 >?base::Syntax :: ::: access variables in a namespace component / slot extraction [ [[ indexing ^ exponentiation (right to left) - + unary minus and plus : sequence operator %any% special operators * / multiply, divide + - (binary) add, subtract = == != ordering and comparison ! negation & && and | || or ~ as in formulae -> ->> rightwards assignment = assignment (right to left)

Присвоение Присваивается символу объект Присвоить можно операторами, = Присвоение с модификацией объекта: f(x,…)ss[2]length(s)f`f

Группировка выражений Перевод строки ; - разделитель выражений Скобки: Круглые ( expr ) Фигурные { e_first ; … ; e_last } Как функция `{` Возвращает только elast Вне функций не создаёт новый контекст 9 >x y z x

Специальные операторы: условный Условный оператор Не векторный (проверяется только первое условие вектора) ifelse - векторный 10 >if (1:50>2) "Да" else "Нет" [1] "Да" Предупреждение In if (1:50 > 2) "Да" else "Нет" : длина условия > 1, будет использован только первый элемент >ifelse(c(T,T,F),c(1:3),c(4:6)) [1] 1 2 6

Специальные операторы: выбор switch оператор не векторный первый аргумент буквенный безымянный – по умолчанию после = следует выражение 11 >switch("Раз","Раз"=1,"Два"={1+1},Inf) [1] 1 >switch("Два","Раз"=1,"Два"={1+1},Inf) [1] 2 >switch("Нуль","Раз"=1,"Два"={1+1},Inf) [1] Inf

Специальные операторы: циклы repeat expression while ( condition ) expression for ( var in list ) expression выход – break следующая итерация - next 12 >p for(i in 1:3) print( c(i,p[i])) > i [1] "1" "И" [1] "2" "Р" [1] "3" "Д" [1] 3 > repeat { print( c(i,p[i])) if(i==3) break else i i [1] "1" "И" [1] "2" "Р" [1] "3" "Д" [1] 3

Доступ к структурам данных 13 Запись ОбъектыОписание x[i] Векторы, списки Возвращает объект из x, описанный i. i может быть числовым вектором, буквенным вектором (в т.ч. имён объектов) или логическим вектором. Не допускает частичного совпадения. В списках возвращает список. В векторах --- вектор. x[[i]] Векторы, списки Возвращает единственный элемент x, соответствующий i. i может быть как числовым, так и буквенным вектором длины 1. Допускает частичное соответствие (с опцией exact=FALSE ). x$name Списки Возвращает объект с именем name из объекта x. S4Возвращает объект, сохранённый в объекте x в слоте с именем name.

Ссылки и литература J. Adler, R in a Nutshell, Second ed., 2012, 722 p. Тренажер для освоения основ языка R: от OReillyhttp://tryr.codeschool.com/ 14