Методическо ръководство "Статистически анализ и визуализация на данни с помощта на R." Методическо ръководство "Статистически анализ и визуализация на данни с помощта на R" R визуализация на данни

Програма на курса

Елементи на програмиране в R

  • Описателна статистика и визуализация
  • Например, кое е по-важно: средният чек или типичният чек?

Клъстерен анализ

  • Какъв проблем се решава? Разделете група обекти на подгрупи.
  • Примерна задача. Сегментиране на сайтове, идентифициране на подобни сайтове.
  • Изследвани методи. Йерархичен клъстерен анализ, метод на k-средните, метод на K-medoid.

Тестване на статистически хипотези

  • Какъв проблем се решава? Сравнете две групи предмети.
  • Примерна задача. Включено A/B тестване на потребителското поведение различни версиистраници на сайта.
  • Изследвани методи. Тест за пропорции, t-тест на Стюдънт, тест на Ливин, тест на Уилкоксън-Ман-Уитни

Линеен регресионен анализ.

  • Примерна задача. Изчислете колко паднаха цените на употребяваните коли след увеличението на митата.
  • Изследвани методи. Избор на променливи, колинеарност, влиятелни наблюдения, анализ на остатъци. Непараметрична регресия (изглаждане на ядрото). Прогнозиране на кратки серии със сезонен компонент чрез линейна регресия

Прогнозиране

  • Какъв проблем се решава? Изградете прогноза за времеви редове
  • Примерна задача. Прогнозирайте трафика на уебсайта за 6 месеца предварително.
  • Изследван метод. Експоненциално изглаждане

Машинно обучение (разпознаване на образи)

  • Примерна задача. Разпознайте пола и възрастта на всеки посетител на сайта
  • Изследвани методи. Метод на K-най-близките класификационни дървета (CART). Случайни гори. Машина за усилване на градиента

Оценки от курса

На студентите ще бъдат дадени 14 лабораторни работи. Курсът се оценява по следното правило:

  • Отлично - всички работи са приети;
  • Добре - приети са всички работи без една?;
  • Задоволителен – приемат се всички работи без две;
  • Незадоволително - в останалите случаи.

Лабораторната работа е това

  • на слушателя се дава набор от данни и въпрос;
  • слушателят отговаря на въпроса, подкрепяйки твърденията си с таблици, графики и скрипт, написани на езика R;
  • Слушателят отговаря на допълнителни въпроси.

Примерен въпрос. Предложете параметри, които ще осигурят оптимална работа на алгоритъма Random Forest при разпознаване на марка вино въз основа на резултатите от химичен анализ.

Какво трябва да знаете, за да вземете курса

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

Литература

  • Шипунов, Балдин, Волкова, Коробейников, Назарова, Петров, Суфиянов Визуална статистика. Използвайки R
  • Мастицки, Шитиков Статистически анализи визуализация на данни с помощта на R
  • Разпознаване на образи на Bishop и машинно обучение.
  • Джеймс, Витен, Хасти, Тибширани. Въведение в статистическото обучение. С приложения в R.
  • Хасти, Тибширани, Фридман. Елементите на статистическото обучение_Извличане на данни, изводи и прогнози 2+изд
  • Кроули. Книгата R.
  • Kabacoff R в действие. Анализ на данни и графики с R.

Учители

Списък на лекциите

Въведение в R: Основни команди. Медиана, квантили и квартили. Стълбовидна диаграма. Стълбовидна диаграма. Кръгова диаграма. Точкова диаграма. Точкова диаграма. Използване на цвят в графиката. Кутии с мустаци (диаграма на кутията). Типично извадково наблюдение: средна аритметична стойност, медиана или съкратена средна стойност. Избор на начин за описание на типична стойност, който е адекватен на анализираните данни. Логнормално разпределение. Отклонения и крайни наблюдения.

Йерархичен клъстерен анализ. Клъстер, разстояния между обекти, разстояния между клъстери. Алгоритъм за построяване на дендрограма. Сипеи/лакът. Стандартизация на данните. Типични грешки при изготвяне на данни. Тълкуване на резултатите.

Метод на K-средствата. Сензори за произволни числа, зърнист сензор. Визуализация на алгоритъма на метода k-средни. Методи за определяне на броя на клъстерите. NbClust библиотека. Сипеи/лакът. Многомерно мащабиране за визуализация на клъстери.

Тестване на статистически хипотези. Хипотези за съгласие, хомогенност, независимост, хипотези за параметри на разпределение.

Тестване на статистически хипотези. Грешки тип I и тип II, p-стойност и ниво на значимост, алгоритъм за проверка на статистически хипотези и интерпретация на резултатите. Хипотеза за нормалното разпределение. Тестове на Шапиро-Уилк и Колмогоров-Смирнов. Незначителни отклонения от нормата. Сравнение на проби. Независими и сдвоени проби. Избор между t-тест на Стюдънт, тест на Ман-Уитни-Уилкоксън и тест на настроението. Разновидности на t-тестовете на Стюдънт и сравнение на дисперсии. Визуализация за сравнения. Едностранни и двустранни тестове.

Тестване на статистически хипотези. Сравнение на проби. Независими и сдвоени проби. Избор между t-тест на Стюдънт, тест на Ман-Уитни-Уилкоксън и тест на настроението. Разновидности на t-тестовете на Стюдънт и сравнение на дисперсии. Визуализация за сравнения. Едностранни и двустранни тестове. Независимост. Коефициенти на корелация на Пиърсън, Кендъл и Спирман, типични грешкикогато се изучава връзката между две явления. Визуална проверка на находките.

Модел на линеен регресионен анализ, интерпретация на оценките на коефициента, множествен коефициент на детерминация. Тълкуване на множествения коефициент на детерминация, ограничения в обхвата на неговото приложение. Идентифициране на най-значимите предиктори и оценка на приноса на всеки предиктор. Алгоритми за настройка на конструираните модели. Колинеарност.

Линеен регресионен анализ: прогнозиране на кратки времеви редове.

Прогнозиране на базата на регресионен модел със сезонни индикаторни (фиктивни, структурни) променливи. Тенденция, сезонни компоненти, промени в характера на сериите, отклонения. Логаритмирането е техника за преобразуване на мултипликативната сезонност в адитивна сезонност. Индикаторни променливи. Преквалификация.

Линейна регресия - анализ на остатъците. Нарушения на моделните ограничения на теоремата на Гаус-Марков. Анализ на остатъци. Грешка в спецификацията. Мултиколинеарност, толерантност и VIF. Проверка на постоянството на дисперсиите на остатъците. Корекция на модели при наличие на отклонения в разпределението на остатъците от нормалното. Дистанция и ливъридж на Кук. Статистика на Дърбин-Уотсън. Намаляване на броя на сезонните корекции.

Метод на експоненциално изглаждане на Холт-Уинтърс. Местна тенденция, местна сезонност.

Терминология: машинно обучение, изкуствен интелект, извличане на данни и разпознаване на образи.

K-метод на най-близкия съсед. Последователността на метода. Мързеливо учене (мързеливо учене). Избор на функция. Кръстосано валидиране. k-кратно кръстосано валидиране. Прекомерно оборудване. Учебни и тестови проби.

Метод на K-най-близкия съсед Примери. Определяне на броя на най-близките съседи. Таблица за контингентност за определяне на качеството на метода.

CART класификационни дървета. Геометрично представяне. Представяне като набор от логически правила. Дървовиден изглед. Възли, родители и деца, листни възли. Прагови стойности. rpart библиотека. Мерки за примеси. Методи за измерване на чистота: Джини, ентропия, класификационни грешки. Правила за обучение на дърво. Библиотека rpart.plot.

Последния път (през ноември 2014 г.; много ме е срам, че се забавих толкова дълго с продължението!) говорих за основните възможности на езика R. Въпреки наличието на всички обичайни контролни конструкции, като цикли и условни блокове, класическият подход за обработка на данни, базиран на итерации, е далеч от Най-доброто решение, тъй като циклите в R необичайнобавен. Така че сега ще ви кажа как всъщност трябва да работите с данни, така че процесът на изчисление да не ви принуждава да пиете твърде много чаши кафе в очакване на резултата. Освен това ще прекарам известно време в разговори за това как да използвам модерни средствавизуализация на данни в R. Тъй като удобството за представяне на резултатите от обработката на данни на практика е не по-малко важно от самите резултати. Да започнем с нещо просто.

Векторни операции

Както си спомняме, основният тип в R изобщо не е число, а вектор и основните аритметични операции работят върху вектори елемент по елемент:

>x<- 1:6; y <- 11:17 >x + y 12 14 16 18 20 22 18 > x > 2 FALSE FALSE TRUE TRUE TRUE TRUE > x * y 11 24 39 56 75 96 17 > x / y 0,09090909 0,16666667 0,23076923 0,28571429 0. 33333333 0,37500000 0,05882353

Всичко тук е съвсем просто, но е съвсем логично да зададем въпроса: какво ще се случи, ако дължините на векторите не съвпадат? Ако, да речем, напишем k<- 2, то будет ли x * k соответствовать умножению вектора на число в математическом смысле? Короткий ответ - да. В более общем случае, когда длина векторов не совпадает, меньший вектор просто продолжается повторением:

>z<- c(1, 0.5) >x * z 1 1 3 2 5 3

При матриците ситуацията е приблизително същата.

>x<- matrix(1:4, 2, 2); y <- matrix(rep(2,4), 2, 2) >x * y [,1] [,2] 2 6 4 8 > x / y [,1] [,2] 0,5 1,5 1,0 2,0

В този случай „нормалното“ и не побитово матрично умножение ще изглежда така:

> x %*% y [,1] [,2] 8 8 12 12

Всичко това, разбира се, е много добро, но какво правим, когато трябва да приложим нашите собствени функции към елементите на вектори или матрици, тоест как може да стане това без цикъл? Подходът, който R използва за решаване на този проблем, е много подобен на този, с който сме свикнали във функционалните езици - той напомня на функцията map в Python или Haskell.

Полезна функция lapply и неговите приятели

Първата функция в това семейство е lapply. Тя ви позволява да приложите дадена функция към всеки елемент от списък или вектор. Освен това резултатът ще бъде точно списъкът, независимо от вида на аргумента. Най-простият пример с използване на ламбда функции:

>q<- lapply(c(1,2,4), function(x) x^2) >q 1 4 16

Ако функцията, която искате да приложите към списък или вектор, изисква повече от един аргумент, тогава тези аргументи могат да бъдат предадени чрез lapply.

>q<- lapply(c(1,2,4), function(x, y) x^2 + y, 3)

Функцията работи по подобен начин със списък:

>x<- list(a=rnorm(10), b=1:10) >lapply(x, средно)

Тук функцията rnorm указва нормалното разпределение (в този случай десет нормално разпределени числа, вариращи от 0 до 1), а средната стойност изчислява средната стойност. Функцията sapply е точно същата като функцията lapply, с изключение на това, че се опитва да опрости резултата. Например, ако всеки елемент от списък е с дължина 1, тогава ще бъде върнат вектор вместо списък:

> sapply(c(1,2,4), function(x) x^2) 1 4 16

Ако резултатът е списък от вектори с еднаква дължина, тогава функцията ще върне матрица, но ако нищо не е ясно, тогава просто списък, като lapply.

>x<- list(1:4, 5:8) >sapply(x, функция(x) x^2) [,1] [,2] 1 25 4 36 9 49 16 64

За да работите с матрици, е удобно да използвате функцията за прилагане:

>x<- matrix(rnorm(50), 5, 10) >приложи (x, 2, средно) > приложи (x, 1, сума)

Тук, като начало, създаваме матрица от пет реда и десет колони, след което първо изчисляваме средната стойност по колоните и след това сумата в редовете. За да бъде пълна картината, трябва да се отбележи, че задачата за изчисляване на средната стойност и сумата на редовете е толкова често срещана, че R предоставя специални функции за тази цел rowSums, rowMeans, colSums и colMeans.
Функцията apply може да се използва и за многомерни масиви:

> обр<- array(rnorm(2 * 2 * 10), c(2, 2, 10)) >приложи (arr, c(1,2), средно)

Последното повикване може да бъде заменено с по-четлива опция:

> rowMeans(arr, dim = 2)

Нека да преминем към функцията mapply, която е многоизмерен аналог на lapply. Нека започнем с прост пример, който може да бъде намерен директно в стандартната R документация:

> mapply(rep, 1:4, 4:1) 1 1 1 1 2 2 2 3 3 4

Както можете да видите, това, което се случва тук е, че функцията rep се прилага към набор от параметри, които се генерират от две последователности. Самата функция rep просто повтаря първия аргумент броя пъти, посочени като втори аргумент. Така че предишният код е просто еквивалентен на следния:

> списък (rep(1,4), rep(2,3), rep(3,2), rep(4,1))

Понякога е необходимо да се приложи функция към част от масив. Това може да стане с помощта на функцията за докосване. Нека разгледаме следния пример:

>x<- c(rnorm(10, 1), runif(10), rnorm(10,2)) >f<- gl(3,10) >докосване (x,f,средно)

Първо създаваме вектор, чиито части се формират от случайни променливис различни разпределения, тогава генерираме вектор от фактори, който не е нищо повече от десет единици, след това десет двойки и същия брой тройки. След това изчисляваме средната стойност за съответните групи. Функцията tappply по подразбиране се опитва да опрости резултата. Тази опция може да бъде деактивирана чрез указване на simplify=FALSE като параметър.

> докосване (x, f, диапазон, опростяване=FALSE)

Когато хората говорят за функциите за прилагане, те обикновено говорят и за функцията за разделяне, която разделя вектор на части, подобно на tapply. Така че, ако извикаме split(x, f), ще получим списък от три вектора. Така че двойката lapply/split работи по същия начин като tapply със стойността за опростяване, зададена на FALSE:

> lapply(split(x, f), средно)

Функцията за разделяне е полезна отвъд работата с вектори: тя може да се използва и за работа с рамки от данни. Помислете за следния пример (взех го назаем от курса по програмиране на R в Coursera):

> библиотека (набори от данни) > глава (качество на въздуха) Ozone Solar.R Wind Temp Month Day 1 41 190 7.4 67 5 1 2 36 118 8.0 72 5 2 3 12 149 12.6 74 5 3 4 18 313 11.5 62 5 4 5 NA NA 14.3 56 5 5 6 28 NA 14,9 66 5 6 > s<- split(airquality, airquality$Month) >lapply(s, function(x) colMeans(x[, c("Ozone", "Solar.R", "Wind")]))

Тук работим с набор от данни, който съдържа информация за условията на въздуха (озон, слънчева радиация, вятър, температура във Фаренхайт, месец и ден). Можем лесно да отчетем месечни средни стойности, като използваме split и lapply, както е показано в кода. Използването на sapply обаче ще ни даде резултата в по-удобна форма:

> sapply(s, function(x) colMeans(x[, c("Ozone", "Solar.R", "Wind")])) 5 6 7 8 9 Ozone NA NA NA NA Solar.R NA 190.16667 216.483871 NA 167.4333 Вятър 11.62258 10.26667 8.941935 8.793548 10.1800

Както можете да видите, някои стойности не са дефинирани (и запазената стойност NA се използва за това). Това означава, че някои (поне една) стойности в колоните Ozone и Solar.R също са недефинирани. В този смисъл функцията colMeans се държи напълно правилно: ако има някакви недефинирани стойности, тогава средната стойност е недефинирана. Проблемът може да бъде решен чрез принуждаване на функцията да игнорира стойностите на NA с помощта на параметъра na.rm=TRUE:

> sapply(s, function(x) colMeans(x[, c("Ozone", "Solar.R", "Wind")], na.rm=TRUE)) 5 6 7 8 9 Озон 23.61538 29.44444 59.115385 59.961538 31.44828 Solar.R 181.29630 190.16667 216.483871 171.857143 167.43333 Вятър 11.62258 10.26667 8.941935 8.793548 10.18000

Защо се нуждаете от толкова много функции за решаване на много подобни проблеми? Мисля, че този въпрос ще бъде зададен от всеки втори човек, който е прочел всичко това. Всички тези функции всъщност се опитват да решат проблема с обработката на векторни данни без използване на цикли. Но едно е да се постигне висока скорост на обработка на данни, а съвсем друго е да се спечели поне част от гъвкавостта и контрола, които контролните конструкции като цикли и условни оператори осигуряват.

Визуализация на данни

Системата R е невероятно богата на инструменти за визуализация на данни. И тук съм изправен пред труден избор - за какво да говоря, ако площта е толкова голяма. Ако в случая с програмирането има някакъв основен набор от функции, без които нищо не може да се направи, то при визуализацията има огромен брой различни задачи и всяка от тях (като правило) може да бъде решена по няколко начина, всеки от което има своите плюсове и минуси. Освен това винаги има много опции и пакети, които ви позволяват да решавате тези проблеми по различни начини.
За стандартните инструменти за визуализация в R е писано много, така че тук бих искал да говоря за нещо по-интересно. IN последните годинипакетът става все по-популярен ggplot2, така че нека поговорим за него.

За да започнете да работите с ggplot2, трябва да инсталирате библиотеката с помощта на командата install.package("ggplot2"). След това го свързваме за употреба:

> библиотека("ggplot2") > глава (диаманти) карат ограняване цвят яснота дълбочина таблица цена x y z 1 0.23 Идеален E SI2 61.5 55 326 3.95 3.98 2.43 2 0.21 Premium E SI1 59.8 61 326 3.89 3.84 2.31 3 0.23 Добър E VS1 5 6 .9 65 327 4.05 4.07 2.31 4 0.29 Premium I VS2 62.4 58 334 4.20 4.23 2.63 5 0.31 Добър J SI2 63.3 58 335 4.34 4.35 2.75 6 0.24 Много добър J VVS2 62.8 5 7 336 3. 94 3.96 2.48 > глава (mtcars) mpg cyl disp к.с. drat wt qsec vs am gear carb Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4 Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4 Datsun 710 22.8 4 108 93 3.85 2 .320 18.61 1 1 4 1 Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1 Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2 Valiant 18.1 6 225 105 2.76 3.460 20. 22 1 0 3 1

Данните за диамантите и mtcars са част от пакета ggplot2 и сега ще работим с тях. С първия всичко е ясно - това са данни за диаманти (чистота, цвят, цена и т.н.), а вторият набор са данни от пътни тестове (брой мили на галон, брой цилиндри...) на произведени автомобили през 1973–1974 г. от американското списание Motor Trends. По-подробна информация за данните (например размерност) може да бъде получена чрез въвеждане на ?diamonds или ?mtcars .

За визуализация пакетът предоставя много функции, от които qplot ще бъде най-важната за нас сега. Функцията ggplot ви дава значително повече контрол върху процеса. Всичко, което може да се направи с qplot, може да се направи и с ggplot. Нека да разгледаме това прост пример:

> qplot(яснота, данни=диаманти, запълване=изрязване, geom="лента")

Същият ефект може да се постигне с функцията ggplot:

> ggplot(диаманти, aes(яснота, запълване=изрязване)) + geom_bar()

Извикването на qplot обаче изглежда по-просто. На фиг. 1 можете да видите как е изобразена зависимостта на броя на диамантите с различно качество на шлифоване от чистотата.

Сега нека начертаем зависимостта на пробега на единица гориво на автомобилите от тяхната маса. Получената диаграма на разсейване (или диаграма на разсейване точкова диаграма) представени
на фиг. 2.

> qplot(wt, mpg, data=mtcars)

Можете също да добавите цветен дисплей на времето за ускорение на четвърт миля (qsec):

> qplot(wt, mpg, data=mtcars, color=qsec)

Когато визуализирате, можете също да трансформирате данни:

> qplot(log(wt), mpg - 10, data=mtcars)

В някои случаи отделните цветови деления изглеждат по-представителни от непрекъснатите. Например, ако искаме да покажем в цвят информация за броя на цилиндрите вместо времето за ускорение, тогава трябва да посочим, че стойността е дискретна по природа (фиг. 3):

> qplot(wt, mpg, data=mtcars, color=factor(cyl))

Можете също така да промените размера на точките, като използвате например size=3. Ако ще отпечатвате графики на черно-бял принтер, тогава е по-добре да не използвате цветове, а вместо това да промените формата на маркера в зависимост от фактора. Това може да стане чрез замяна на color=factor(cyl) с shape=factor(cyl) .
Типът графика се определя с помощта на параметъра geom, а в случай на точкови диаграми стойността на този параметър е "точки".

Сега да кажем, че просто искаме да изградим хистограма на броя автомобили със съответната стойност на цилиндъра:

> qplot(factor(cyl), data=mtcars, geom="bar") > qplot(factor(cyl), data=mtcars, geom="bar", color=factor(cyl)) > qplot(factor(cyl) , data=mtcars, geom="bar", fill=factor(cyl))

Първото извикване просто чертае три хистограми за различни стойности на цилиндрите. Трябва да се каже, че първият опит за добавяне на цвят към хистограмата няма да доведе до очаквания резултат - черните ленти все още ще бъдат черни, но ще имат само цветен контур. Но последното извикване на qplot ще произведе красива хистограма, както е показано на фиг. 4.

Тук трябва да сме наясно. Факт е, че настоящият обект, който сме изградили, не е хистограма в тесния смисъл на думата. Обикновено хистограмата е подобен дисплей за непрекъснати данни. IN английски език стълбовидна диаграма(това направихме току-що) и хистограма- това са две различни понятия (вижте съответните статии в Wikipedia). Тук с известна тежест ще използвам думата „хистограма“ и за двете понятия, вярвайки, че самото естество на данните говори само за себе си.

Ако се върнем на фиг. 1, тогава ggplot2 предоставя няколко полезни опции за позициониране на диаграми (по подразбиране е position="stack"):

> qplot(яснота, данни=диаманти, geom="лента", fill=cut, position="dodge") > qplot(яснота, data=diamonds, geom="лента", fill=cut, position="fill") > qplot(яснота, данни=диаманти, geom="лента", fill=cut, position="identity")

Първата от предложените опции изобразява диаграми една до друга, както е показано на фиг. 5, втората показва дяловете на диамантите с различно качество на шлифоване в общия брой диаманти с дадена чистота (фиг. 6).

Сега нека да разгледаме пример за реална хистограма:

> qplot(carat, data=diamonds, geom="histogram", bandwidth=0.1) > qplot(carat, data=diamonds, geom="histogram", bandwidth=0.05)

Тук параметърът за честотна лента просто показва колко широка е лентата в хистограмата. Хистограмата показва колко данни са в какъв диапазон. Резултатите са представени на фиг. 7 и 8.

Понякога, когато трябва да начертаем модел (линеен или да речем полином), можем да го направим директно в qplot и да видим резултата. Например, можем да начертаем mpg спрямо маса wt директно върху диаграмата на разсейване:

> qplot(wt, mpg, data=mtcars, geom=c("point", "smooth"))

По подразбиране като модел ще се използва локална полиномна регресия (method="loess"). Резултатът от работата ще изглежда както е показано на фиг. 9, където тъмносивата лента е стандартната грешка. Показва се по подразбиране, можете да го изключите, като напишете se=FALSE.

Ако искаме да опитаме да напаснем линеен модел върху тези данни, тогава това може да стане чрез просто указване на method=lm (фиг. 10).

И накрая, разбира се, трябва да покажем как се изграждат кръгови диаграми:

>t<- ggplot(mtcars, aes(x=factor(1), fill=factor(cyl))) + geom_bar(width=1) >t + coord_polar(theta="y")

Тук ще използваме по-гъвкавата функция ggplot. Работи по следния начин: първо изграждаме графика, показваща дяловете на автомобилите с различен брой цилиндри в общата маса (фиг. 11), след което преобразуваме графиката в полярни координати (фиг. 12).

Вместо заключение

Вече ни е удобно да използваме R. Какво следва? Ясно е, че тук са дадени най-основните възможности на ggplot2 и се обсъждат въпроси, свързани с векторизацията. Има няколко добри книги за R, които си струва да бъдат споменати, и със сигурност си струва да се консултирате по-често, отколкото услугите на корпорация с много натрапчива доброта. Първо, това е книгата на Норман Матлоф (Норман Матлоф) Изкуството на R програмирането. Ако вече имате опит в програмирането на R, тогава The R Inferno, написана от P. Burns, ще ви бъде полезна. Класическата книга Софтуер за анализ на данни от Джон Чембърс също е доста подходяща.

Ако говорим за визуализация в R, има добра книга R Graphics Cookbook от W. Chang (Winston Chang). Примерите за ggplot2 в тази статия са взети от Урок: ggplot2. Ще се видим в следващата статия: Анализ на данни и машинно обучение в R!

Блогът "R: Data Analysis and Visualization" съществува повече от три години и половина. Преди няколко месеца се роди идеята методическите послания, публикувани тук през цялото това време, да бъдат обобщени под формата на електронна книга. Автор на идеята, а впоследствие и съавтор на книгата, беше докторът на биологичните науки Владимир Кирилович Шитиков (). Имаме удоволствието да ви представим резултата като наш новогодишен подарък.


Инструментариум "Статистически анализ и визуализация на данни с помощта на R"е адресирано предимно към студенти, докторанти, млади и утвърдени учени, както и професионални анализатори, които не са имали предишен опит в работата с R. Следвайки традициите на блога, ние се опитахме, ако е възможно, да избегнем злоупотребата с "ритуал ” фрази, характерни за множество ръководства по приложна статистика, цитиращи добре известни теореми и цитиращи многоетажни формули за изчисление. Акцентът беше преди всичко върху практическото приложение - така че читателят, ръководен от прочетеното, да може да анализира своите данни и да представи резултатите на колеги Книгата включва 9 глави, които обхващат следните теми:

  • Глава 1: Основни компоненти на R статистическата среда
  • Глава 2: Описание на езика R
  • Глава 3: Основни графични характеристики на R
  • Глава 4: Описателни статистики и подходящи разпределения
  • Глава 5: Класически методи и критерии на статистиката
  • Глава 6: Линейни модели в дисперсионния анализ
  • Глава 7: Регресионни модели на връзките между количествените променливи
  • Глава 8: Обобщени, структурни и други регресионни модели
  • Глава 9: Пространствен анализ и създаване на картограма
Има също обширна библиография и списък с полезни онлайн ресурси на R.

Официална актуална версия на книгата в PDF формат(~11 MB) достъпни за безплатно сваляне от два сайта:

  • Хранилище на GitHub: https://github.com/ranalytics/r-tutorials
  • Уебсайт на Института по екология на Волжския басейн RAS: http://www.ievbras.ru/ecostat/Kiril/R/

На същите два ресурса можете да намерите скриптовете на R код и наборите от данни, необходими за възпроизвеждане на примерите, обсъдени в книгата.

Ще бъдем благодарни за всички ваши коментари и предложения относно тази работа - моля, изпратете ги на електронна поща rtutorialsbook["куче"]gmail.com

Както бе отбелязано по-горе, книгата се разпространява напълно безплатно. Въпреки това, ако намирате за полезно и смятате за уместно да благодарите на авторите за труда им, можете да преведете произволна сума чрез следващ бутон(всички транзакции се извършват в безопасен режимчрез система за електронни плащания

„СТАТИСТИЧЕСКИ АНАЛИЗ И ВИЗУАЛИЗАЦИЯ НА ДАННИ С ИЗПОЛЗВАНЕ НА R grass roots fruit foliage Хайделберг – Лондон – Толиати 2014, ...“

-- [ Страница 1 ] --

S.E. Мастицки, В.К. Шитиков

СТАТИСТИЧЕСКИ АНАЛИЗ И

ВИЗУАЛИЗИРАНЕ НА ДАННИ С R

тревни корени плодове зеленина

Хайделберг – Лондон – Толиати

2014 г., Сергей Едуардович Мастицки, Владимир Кирилович Шитиков

Уебсайт: http://r-analytics.blogspot.com

Това произведение се разпространява под лиценз

Creative Commons Attribution – Некомерсиално

използване – При същите условия 4.0 По целия свят.“ Съгласно този лиценз можете свободно да копирате, разпространявате и модифицирате това произведение, предоставено точна индикациянеговите автори и източник. Ако промените това произведение или го използвате във ваши собствени произведения, можете да разпространявате резултата само под същия или подобен лиценз. Забранено е използването на тази работа за търговски цели без разрешение от авторите. За повече информация относно лиценза посетете www.creativecommons.com

Моля, цитирайте тази книга, както следва:

Мастицки С.Е., Шитиков В.К. (2014) Статистически анализ и визуализация на данни с помощта на R.

Електронна книга, адрес за достъп:

http://r-analytics.blogspot.com

ПРЕДГОВОР 5

1. ОСНОВНИ КОМПОНЕНТИ НА СТАТИСТИЧЕСКАТА СРЕДА R 8


1.1. История на възникване и основни принципи на организация 8 на R средата

1.2. Работа с командната конзола на интерфейса R 11

1.3. Работа с менютата на R Commander 13

1.4. Обекти, пакети, функции, устройства 17

2. ОПИСАНИЕ НА ЕЗИКА R 23

2.1. R 23 типове данни

2.2. Вектори и матрици 24

2.3. Фактори 29

2.4. Списъци и таблици 31

2.5. Импортиране на данни в R 37

2.6. Представяне на дата и час; времева серия 40

2.7. Организация на изчисленията: функции, разклонения, цикли 46

2.8. Векторизирани изчисления в R с помощта на функции apply-50

3. ОСНОВНИ ГРАФИЧНИ ВЪЗМОЖНОСТИ R 58

3.1. Scatterplots plot() и опции за графики 58 функции

3.2. Хистограми, функции за плътност на ядрото и функцията 66 cdplot().

3.3. Диаграми на обхвата 74

3.4. Кръгови и стълбовидни диаграми 77

3.5. Диаграми на Кливланд и едномерни диаграми на разсейване 84

4. ОПИСАТЕЛНА СТАТИСТИКА И ПОДГОТОВКА 97

РАЗПРОСТРАНЕНИЕ

–  –  –

ПРЕДГОВОР

Един от основните инструменти за разбиране на света е обработката на данни, получени от човек от различни източници. Същността на съвременния статистически анализ е интерактивен процес, състоящ се от изследване, визуализация и интерпретация на входящите информационни потоци.

Историята на последните 50 години е и история на развитието на технологията за анализ на данни.

Един от авторите с умиление си спомня края на 60-те години и първата си програма за изчисляване на двойната корелация, която беше въведена с метални щифтове върху „оперативното поле“ на 150 клетки на персоналния компютър „Промин-2“ с тегло над 200 кг.

В днешно време компютрите с висока производителност и достъпна цена софтуерви позволяват да реализирате пълен цикъл от информационно-технологичен процес, състоящ се най-общо от следните стъпки:

° достъп до обработени данни (изтеглянето им от различни източници и съставяне на набор от взаимосвързани изходни таблици);

° редактиране на заредени индикатори (замяна или премахване на липсващи стойности, преобразуване на характеристики в по-удобна форма);

° анотиране на данни (за да запомните какво представлява всяка част от данните);

° получаване Главна информацияза структурата на данните (изчисляване на описателна статистика с цел характеризиране на анализираните показатели);

° графично представяне на данните и резултатите от изчисленията в ясна, информативна форма (една снимка всъщност понякога струва хиляда думи);

° моделиране на данни (откриване на зависимости и тестване на статистически хипотези);

° представяне на резултатите (изготвяне на таблици и диаграми с приемливо качество на публикация).

В условия, когато на разположение на потребителя са десетки пакети приложни програми, проблемът с избора е актуален (понякога трагичен, ако си спомним „магарето на Буридан“): кой софтуер за анализ на данни трябва да предпочетете за вашата практическа работа? Тук обикновено се вземат предвид спецификата на решавания проблем, ефективността на настройката на алгоритмите за обработка, разходите за закупуване на програми, както и вкусовете и личните предпочитания на анализатора. В същото време, например, шаблонът Statistica с неговия механичен набор от бутони на менюто не винаги може да задоволи креативния изследовател, който предпочита самостоятелно да контролира напредъка на изчислителния процес. Комбинирайте Различни видовеанализ, имате достъп до междинни резултати, контролирайте стила на показване на данните, добавяйте свои собствени разширения софтуерни модулии изготвят окончателни отчети в необходимата форма позволяват търговски изчислителни системи, включително инструменти на команден език на високо ниво като Matlab, SPSS и др. Отлична алтернатива на тях е свободната софтуерна среда R, която е модерна и постоянно развиваща се статистическа платформа с общо предназначение.



Днес R е безспорен лидер сред свободно разпространяваните системи за статистически анализ, както се вижда например от факта, че през 2010 г. системата R стана победител в годишното състезание за отворен код. софтуерни продукти Bossie Awards в няколко категории. Водещите световни университети, анализатори от големи компании и изследователски центрове постоянно използват R при извършване на научни и технически изчисления и създаване на големи информационни проекти. Широко разпространеното преподаване на статистика, базирано на пакети от тази среда, и пълната подкрепа на научната общност доведоха до факта, че намаляването на R скриптовете постепенно се превръща в общоприет „стандарт“ както в публикациите в списанията, така и в неформалната комуникация между учени около Светът.

Основната пречка за рускоезичните потребители при усвояването на R, разбира се, е, че почти цялата документация за тази среда съществува на английски език. Едва от 2008 г., чрез усилията на A.V. Шипунова, Е.М. Балдина, С.В. Петрова, И.С. Зарядова, А.Г. Буховец и други ентусиасти, методически ръководства и книги се появиха на руски език (връзки към тях можете да намерите в списъка с препратки в края на тази книга; връзки към образователни ресурси, чиито автори дават осезаем принос за популяризирането на R сред рускоезичните потребители).

Това ръководство обобщава набор от методологични съобщения, публикувани от един от авторите от 2011 г. насам в блога „R: Анализ на данни и визуализация“

(http://r-analytics.blogspot.com). Струваше ни се препоръчително да представим целия този донякъде несвързан материал в концентрирана форма за удобство на читателите, както и да разширим някои раздели за пълнота на представянето.

Първите три глави предоставят подробни инструкции за работа с интерактивните компоненти на R, подробно описание на езика и основните графични възможности на средата.

Тази част от книгата е доста достъпна за начинаещите в програмирането, въпреки че читателите, които вече са запознати с езика R, могат да намерят там интересни кодови фрагменти или да използват описанията на графичните опции, предоставени като справка.

Следващите глави (4-8) предоставят описание на обичайните процедури за обработка на данни и изграждане на статистически модели, което е илюстрирано с няколко десетки примера. Те включват Кратко описаниеалгоритми за анализ, основните получени резултати и тяхната възможна интерпретация. Опитахме се, ако е възможно, да избегнем злоупотребата с „ритуални“ фрази, характерни за многобройни ръководства по приложна статистика, цитирайки добре известни теореми и цитирайки формули за многоетажно изчисление. Акцентът беше преди всичко върху практическото приложение – за да може читателят, воден от прочетеното, да анализира своите данни и да представи резултатите на колегите.

Разделите на тази част са изградени според сложността на представения материал.

Глави 4 и 5 са ​​насочени към читателите с интерес към статистиката само като част от въвеждащ университетски курс. Глави 6 и 7, в рамките на единната теория на общите линейни модели, представят дисперсионен и регресионен анализ и предоставят различни алгоритми за изследване и структурна идентификация на модели. Глава 8 е посветена на някои съвременни методиизграждане и анализ на обобщени регресионни модели.

Тъй като пространственият анализ и показването на резултатите върху географски карти и диаграми са от постоянен интерес за изследователите, глава 9 предоставя някои примери за такива техники за визуализация.

Ние адресираме нашето ръководство към студенти, докторанти, както и към млади и утвърдени учени, които искат да овладеят анализа и визуализацията на данни с помощта на средата R. Надяваме се, че до края на четенето на това ръководство ще имате някакво разбиране за това как работи R, където можете да получите допълнителна информация, както и как да се справите с прости и доста сложни задачи за анализ на данни.

Файловете с R код скриптове за всички глави на книгата, както и необходимите таблици с изходни данни за тяхното изпълнение, са свободно достъпни за изтегляне от хранилището на GitHub https://github.com/ranalytics/r-tutorials, както и от уебсайта на Института по екология на басейна на Волга RAS връзка http://www.ievbras.ru/ecostat/Kiril/R/Scripts.zip.

Трябва да се отбележи, че текстът в това ръководство е представен в редакцията на автора и следователно, въпреки всичките ни усилия, има вероятност да съдържа печатни грешки, граматически неточности и неудачни фрази. Ще Ви бъдем благодарни, Читателю, да съобщите за тези, както и за други открити дефекти, по имейл [имейл защитен]. Ще бъдем благодарни и за всякакви други коментари и предложения, които може да имате относно тази работа.

–  –  –

1. ОСНОВНИ КОМПОНЕНТИ НА СТАТИСТИЧЕСКАТА СРЕДА R

1.1. История на възникване и основни принципи на организация на R средата Системата за статистически анализ и визуализация на данни R се състои от следните основни части:

° език за програмиране високо ниво R, което ви позволява да изпълнявате различни операции с обекти, вектори, матрици, списъци и т.н. в един ред;

° голям набор от функции за обработка на данни, събрани в отделни пакети;

° разработена система за поддръжка, включваща актуализиране на компоненти на средата, интерактивна помощ и различни образователни ресурси, предназначени както за първоначално изучаване на R, така и за последващи консултации при възникващи трудности.

Началото на пътуването датира от 1993 г., когато двама млади учени от Нова Зеландия Рос Ихака и Робърт Джентълман обявиха своята нова разработка, която нарекоха R. Те взеха за основа езика за програмиране на разработената комерсиална система за обработка на статистически данни S-PLUS и създаде своята безплатна, безплатна реализация, която се различава от своя прародител по своята лесно разширяема модулна архитектура. Скоро възниква разпределена система за съхранение и разпространение на пакети за R, известна със съкращението "CRAN" (Comprehensive R Archive Network - http://cran.r-project.org), основната идея на организацията от които е постоянно разширяване, колективно тестване и оперативно разпространение на приложни инструменти за обработка на данни.

Оказа се, че такъв продукт на непрекъснати и добре координирани усилия на мощния „колективен разум“ на хиляди безкористни интелектуални разработчици се оказа много по-ефективен от комерсиалните статистически програми, цената на лиценза за които може да бъде няколко хиляди долара. Тъй като R е предпочитаният език за професионалните статистици, всички най-новите постижениястатистическата наука много бързо стават достъпни за потребителите на R по целия свят под формата на допълнителни библиотеки. Никоя търговска система за статистически анализ не се развива толкова бързо днес. R има голяма армия от потребители, които информират авторите на допълнителни библиотеки и самата система R за открити грешки, които се коригират своевременно.

Изчислителният език R, въпреки че изисква известно усилие за овладяване, забележителни умения за търсене и енциклопедична памет, ви позволява бързо да извършвате изчисления, които са практически „неизчерпаеми като атом“ в тяхното разнообразие. Към юли 2014 г. ентусиасти от цял ​​свят са написали 6739 допълнителни библиотеки за R, включително 137 506 функции (вж.

http://www.rdocumentation.org), които значително разширяват основните възможности на системата. Много е трудно да си представим какъвто и да е клас статистически методи, който вече не е внедрен днес под формата на R пакети, включително, разбира се, целия „джентълменски набор“: линейни и обобщени линейни модели, нелинейни регресионни модели, експериментален дизайн, време сериен анализ, класически параметрични и непараметрични тестове, байесова статистика, клъстерен анализ и методи за изглаждане. С помощта на мощни инструменти за визуализация, резултатите от анализа могат да бъдат обобщени под формата на различни графики и диаграми. В допълнение към традиционната статистика, разработената функционалност включва голям набор от алгоритми за числена математика, методи за оптимизация, решаване на диференциални уравнения, разпознаване на образи и др. Генетици и социолози, лингвисти и психолози, химици и лекари, както и специалисти по ГИС и уеб технологии .

„Патентованата“ документация за R е много обемна и не винаги е добре написана (в странната традиция на англоезичната литература твърде много думи се харчат за описание на тривиални истини, докато важни моменти се покриват бързо). Въпреки това, в допълнение към това, водещите световни издатели (Springer, Cambridge University Press и Chapman & Hall / CRC) или просто отделни екипи от ентусиасти са публикували огромен брой книги, описващи различни аспекти на анализа на данни в R (вижте напр. , списъкът с препратки на уебсайта "Енциклопедия по психодиагностика", http://psylab.info/R:Literature). Освен това има няколко активни международни и руски потребителски форума на R, където всеки може да поиска помощ при проблем. В библиографията ние изброяваме няколкостотин книги и интернет връзки, които препоръчваме да разгледате. Специално вниманиедокато учат Р.

Директно обучение практическа работав R се състои от а) овладяване на конструкциите на езика R и запознаване с функциите за извикване на функции, които извършват анализ на данни, и б) придобиване на умения за работа с програми, които прилагат специфични методи за анализ и визуализация на данни.

Изборът на инструменти за потребителски интерфейс R е противоречив и силно зависим от потребителските вкусове. Дори авторитетни експерти нямат консенсус.

Някои смятат, че няма нищо по-добро от стандартния интерфейс на конзолата R. Други смятат, че за удобна работаСтрува си да инсталирате някоя от наличните интегрирани среди за разработка (IDE) с богат набор от менюта с бутони. Например, отличен варианте безплатна интегрирана среда за разработка, наречена RStudio.

По-долу ще се съсредоточим върху описанието на конзолната версия и работата с R Commander, но по-нататъшното изследване на читателя може да бъде подпомогнато от преглед на различни версии на IDE, представени в приложението към книгата на Шипунов и др. (2014 г.).

Един експерт по R, Джоузеф Рикърт, вярва, че процесът на изучаване на R може да бъде разделен на следните етапи (за повече подробности вижте:

неговата статия на inside-r.org):

1. Запознаване основни принципикултурата на общността R и софтуерната среда, в която е разработен и работи езикът R. Посетете основните и спомагателните ресурси и овладейте добър въвеждащ учебник. Инсталиране на R на компютъра на потребителя и изпълнение на първите тестови скриптове.

2. Четете данни от стандартни файлове на операционната система и уверено използвайте R функции за изпълнение ограничен наборпроцедури за статистически анализ, познати на потребителя.

3. Използване на основните структури на езика R за писане на прости програми.

Писане на вашите собствени функции. Запознаване със структурите от данни, с които може да работи R и по-сложните характеристики на езика. Работа с бази данни, уеб страници и външни източници на данни.

4. Писане на сложни програми на езика R. Самостоятелно развитие и задълбочено разбиране на структурата на обекти от така наречените S3- и S4-класове.

5. Развитие професионални програмина езика R. Самостоятелно създаване на допълнителни библиотечни модули за R.

Повечето средни потребители на R спират на етап 3, защото...

Придобитите до този момент знания са им напълно достатъчни за изпълнение на статистически задачи в профила на основната им професионална дейност.

Това е приблизително обхватът на нашето описание на езика R в рамките на това ръководство.

Инсталирането и конфигурирането на базовата R статистическа среда е доста лесно. Към юли 2014 г. текущата версия е R 3.1.1 за 32 и 64-битови Windows (също са налични дистрибуции за всички други често срещани операционни системи). Можете да изтеглите комплекта за дистрибуция на системата заедно с основен набор от 29 пакета (54 мегабайта) напълно безплатно от основния уебсайт на проекта http://cran.r-project.org или руския „огледало“ http://cran .gis-lab.info. Процесът на инсталиране на системата от изтеглената дистрибуция не създава никакви затруднения и не изисква специални коментари.

За удобство при съхраняване на скриптове, изходни данни и резултати от изчисления си струва да изберете специална работна директория на компютъра на потребителя. Изключително нежелателно е използването на кирилица в името на работната директория.

Препоръчително е да поставите пътя до работната директория и някои други опции за настройки, като промените всяка текстов редактор системен файл C:\Program Files\R\Retc\Rprofile.site (може да има различно местоположение на вашия компютър). В примера по-долу модифицираните редове са маркирани в зелено.

В допълнение към указването на работната директория, тези редове указват връзка към руския източник за изтегляне на R пакети и автоматично стартиране на R Commander.

Изброяване на файла Rprofile.site # Всичко, което следва символа за коментар “#” се игнорира от средата # options(papersize="a4") # options(editor="notepad") # options(pager="internal") # задаване на информация за типа показване на помощ # options(help_type="text") options(help_type="html") # задаване на местоположението на локалната библиотека #.Library.site - file.path(chartr("\\", "/ ", R.home() ), "site-library") # Когато зареждате средата, стартирайте менюто на R Commander # Добавете знаци "#", ако стартирането на Rcmdr не е необходимо local(( old - getOption("defaultPackages") options (defaultPackages = c(old, "Rcmdr")) )) # Дефиниране на огледален CRAN local((r - getOption("repos") r["CRAN"] - "http://cran.gis-lab" options( repos=r))) # Дефинирайте пътя до работната директория (всяка друга на вашия компютър) setwd("D:/R/Process/Resampling") Що се отнася до „добър въвеждащ учебник“, всяка от нашите препоръки ще бъде субективен. Въпреки това си струва да се спомене официално признатото въведение към R от У. Венабълс и Д. Смит (Venables, Smith, 2014) и книгата на Р. Кабаков (Kabaco, 2011), отчасти и защото техният руски превод е наличен. Нека отбележим и традиционното „наръчник за манекени” (Meys, Vries, 2012) и ръководството (Lam, 2010), написани със завидна холандска педантичност. От уводните курсове на руски език най-пълни са книгите на И. Зарядов (2010а) и А. Шипунов и др. (2014 г.).

1.2. Работа с командната конзола на интерфейса R Статистическата среда R изпълнява всеки набор от смислени инструкции на езика R, съдържащи се в скриптов файл или представени като последователност от команди, издадени от конзолата. Работата с конзолата може да изглежда трудна за съвременните потребители, свикнали с менюта с бутони, тъй като е необходимо да се запомни синтаксисът на отделните команди. Въпреки това, след придобиване на някои умения, се оказва, че много процедури за обработка на данни могат да се извършват по-бързо и с по-малко затруднения, отколкото, да речем, в същия пакет Statistica.

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

В команден режим R може да работи например като обикновен калкулатор:

Вдясно от символа за подкана потребителят може да въведе произволен аритметичен израз, да натисне клавиша Enter и веднага да получи резултата.

Например във втората команда на снимката по-горе използвахме функциите факториел и синус, както и вградената p. Резултатите, получени в текстова форма, могат да бъдат избрани с мишката и копирани чрез клипборда във всеки текстов файл в операционната система (например Word документ).

Когато работите с RGui, препоръчваме във всички случаи да създадете файл със скрипт (т.е. последователност от команди на език R, които изпълняват определени действия). По правило това е обикновен текстов файл с произволно име (но за категоричност е по-добре с разширение *.r), който може да се създава и редактира с обикновен редактор като Notepad. Ако този файл съществува, най-добре е да го поставите в работната директория и след това, след като стартирате R и изберете елемента от менюто "File Open Script", съдържанието на този файл ще се появи в прозореца "R Editor". Можете да изпълните поредица от скриптови команди от елемента от менюто "Редактиране, изпълнение на всички".

Можете също така да изберете с мишката смислен фрагмент от всяко място в подготвения скрипт (от името на една променлива до цялото съдържание) и да стартирате този блок за изпълнение. Това може да стане с четири възможни начини: от главния и контекстно меню, клавишната комбинация Ctrl+R или бутон в лентата с инструменти.

В представената фигура са извършени следните действия:

° R-обектът gadm с данни за териториалното деление на Република Беларус е изтеглен от безплатния интернет източник Global Administrative Areas (GADM);

° Латинизираните имена на градове се заменят с често използвани еквиваленти;

° с помощта на функцията spplot() на пакета sp в графичния прозорец се показва административна карта на републиката, която може да бъде копирана в клипборда с помощта на менюто или запазена като стандартен мета- или растерен графичен файл.

Ще разгледаме значението на отделните оператори по-подробно в следващите раздели, но тук ще отбележим, че като изберете в скрипта и изпълните комбинацията от символи Regions@data, ще получим в прозореца на конзолата целия набор от данни за обекта и команда, съставена от избраните символи gadm, Regions @data$NAME_1 ще ни даде списък с имена на административни центрове преди и след неговата промяна.

По този начин R Editor улеснява навигацията в скрипт, редактирането и изпълнението на всяка комбинация от команди и намирането и замяната на определени части от кода. Добавката RStudio, спомената по-горе, ви позволява допълнително да извършвате осветяване на синтаксиса на кода, автоматично допълване на кода, „пакетиране“ на командна последователност във функции за тяхното последващо използване, работа с Sweave или TeX документи и други операции, които ще бъдат полезни за напреднал потребител .

R има обширен вграден справочен материал, който може да бъде достъпен директно от RGui.

Ако подадете командата help.start() от конзолата, във вашия интернет браузър ще се отвори страница, която дава достъп до всички помощни ресурси: основни ръководства, авторски материали, отговори на често срещани въпроси, списъци с промени, връзки към помощ на други R обекти и др. .d.:

Помощ за конкретни функции може да се получи с помощта на следните команди:

° помощ ("foo") или? foo – помощ за функцията foo (кавичките не са задължителни);

° help.search("foo") или ?? foo – търсене на всички помощни файлове, съдържащи foo;

° example("foo") – примери за използване на функцията foo;

° RSiteSearch("foo") – търсене на линкове в онлайн ръководства и пощенски архиви;

° apropos("foo", mode="function") – списък на всички функции с комбинацията foo;

° vignette("foo") – списък с уроци по темата foo.

1.3. Работа с менюто на пакета R Commander Удобен инструмент за овладяване на изчисления в R за начинаещ потребител е R Commander - независим от платформата графичен интерфейс в стила на меню с бутони, реализиран в пакета Rcmdr. Тя ви позволява да извършвате голям набор от процедури за статистически анализ, без да прибягвате до предварително запаметяване на функции на командния език, но неволно допринася за това, тъй като показва всички изпълнени инструкции в специален прозорец.

Можете да инсталирате Rcmdr, както всички други разширения, от менюто на R конзолата „Пакети за инсталиране на пакет“, но е по-добре да изпълните командата:

install.packages("Rcmdr", dependencies=TRUE), където активирането на опцията за зависимости ще гарантира, че е инсталиран пълният набор от други пакети, които може да са необходими при обработка на данни през менюто Rcmdr.

R Commander се стартира, когато пакетът Rcmdr се зареди през менюто "Packages Enable Package" или с командата библиотека(Rcmdr).Ако по някаква причина беше решено данните да се анализират изключително с помощта на R Commander, тогава за автоматично изтеглянетази графична обвивка, когато стартирате R, трябва да редактирате файла Rprofile.site, както е показано в раздел 1.1.

Нека да разгледаме работата в R Commander с пример корелационен анализданни за нивото на инфекция на двучерупчестия мекотел Dreissena polymorpha от ресничестия Conchophthirus acuminatus в три езера на Беларус (Mastitsky S.E. // BioInvasions Records.

2012. V. 1. P 161–169). В таблицата с първоначалните данни, която изтегляме от уебсайта на figshare, ще се интересуваме от две променливи: дължината на черупката на мекотелото (ZMlength, mm) и броят на ресничките, открити в мекотелото (CAnumber). Този пример ще бъде разгледан подробно в глави 4 и 5, така че тук няма да се спираме подробно на смисъла на анализа, а ще се съсредоточим върху техниката на работа с Rcmdr.

След това дефинираме режима на зареждане на данни и адреса на интернет връзката в изскачащите прозорци. Лесно се вижда, че можем лесно да изтеглим същите данни от локалния текстов файл, работни книги на Excel или таблици на бази данни. За да се уверите, че нашите данни са заредени правилно (или ги редактирайте, ако е необходимо), щракнете върху бутона „Преглед на данните“.

Прозорец за дефиниране на организация на данните Фрагмент от заредената таблица

На втория етап в менюто „Статистика“ изберете „Корелационен тест“:

Избираме двойка корелирани променливи и в изходния прозорец получаваме корелационния коефициент на Pearson (R = 0,467), постигнатото ниво на статистическа значимост (p-стойност 2,2e-16) и 95% доверителни граници.

–  –  –

Получените резултати могат лесно да бъдат копирани от изходния прозорец чрез клипборда.

Сега получаваме графично изображениекорелационна зависимост. Нека изберем диаграма на разпръскване на зависимостта на CAnumber от ZMlength и я снабдим с диаграми на обхвата на ръбовете, линейна линия на тренда, използваща метода на най-малките квадрати (в зелено), линия, изгладена с помощта на метода на локална регресия (в червено), представена с увереност регион (пунктирана линия). За всяко от трите езера (променлива Lake), експерименталните точки ще бъдат представени с различни символи.

–  –  –

Графика, копирана от графичния прозорец на R Commander Като еквивалент на всички натискания на бутоните на менюто на R Commander, инструкциите на R език се появяват в прозореца на скрипта.

В нашия случай те изглеждат така:

Shellfish read.table("http://figshare.com/media/download/98923/97987", header=TRUE, sep="\t", na.strings="NA", dec=".", лента. white=TRUE) cor.test(Clams$CAnumber, Clams$ZMlength, alternative="two.sided", method="pearson") scatterplot(CAnumber ~ ZMlength | Lake, reg.line=lm, smooth=TRUE, spread= TRUE, boxplots="xy", span=0.5, ylab="Брой реснички", xlab="Дължина на черупката", by.groups=FALSE, data=Mollusks) Самият скрипт или изходните резултати (както и двете заедно ) могат да бъдат записани във файлове и повторени по всяко време. Можете да получите същия резултат, без да стартирате R Commander, като заредите записания файл през R конзолата.

Като цяло, без да познавате конструкциите на езика R (или просто не искате да натоварвате паметта си със запомнянето им), с помощта на Rcmdr можете да извършвате обработка на данни, използвайки почти всички основни статистически методи. Той представя параметрични и непараметрични тестове, методи за напасване на различни непрекъснати и дискретни разпределения, анализ на многовариантни таблици за контингентност, едномерен и многовариантен дисперсионен анализ, анализ на главните компоненти и групиране, различни форми на обобщени регресионни модели и др. Разработеният апарат за анализ и тестването на получените модели е достойно за внимателно проучване.

Подробно описание на техниките за работа с R Commander, както и характеристиките на внедряването на алгоритми за обработка на данни, можете да намерите в ръководствата (Larson-Hall, 2009; Karp, 2014).

Въпреки това, точно както езикът на знаците не може да замени човешката комуникация на естествен език, познаването на езика R значително разширява възможностите на потребителя и прави комуникацията с R средата приятна и вълнуваща. И тук автоматичното генериране на скриптове в R Commander може да бъде отличен начин за читателя да се запознае с операторите на езика R и да научи спецификата на извикване на отделни функции. Ще посветим следващите глави на ръководството на обсъждане на процедурите за обработка на данни само на ниво езикови конструкции.

1.4. Обекти, пакети, функции, устройства Езикът R принадлежи към семейството на така наречените обектно-ориентирани езици за програмиране от високо ниво. За неспециалист строгата дефиниция на понятието „обект“ е доста абстрактна. Въпреки това, за простота, можем да извикаме всичко, което е създадено по време на работа с R обекти.

Има два основни типа обекти:

1. Обекти, предназначени за съхраняване на данни („обекти с данни“) са индивидуални променливи, вектори, матрици и масиви, списъци, фактори, таблици с данни;

2. Функциите („функционални обекти“) са именувани програми, предназначени да създават нови обекти или да извършват определени действия върху тях.

Обектите на R средата, предназначени за колективна и безплатна употреба, се компилират в пакети, обединени от подобни теми или методи за обработка на данни. Има известна разлика между термините пакет ("пакет") и библиотека ("библиотека"). Терминът "библиотека" дефинира директория, която може да съдържа един или повече пакети. Терминът "пакет" се отнася до колекция от функции, HTML страници с ръководство и примерни обекти с данни, предназначени за целите на тестване или обучение.

Пакетите се инсталират в определена директория на операционната система или в неинсталиран вид могат да се съхраняват и разпространяват в архивирани *. zip файлове Windows (версията на пакета трябва да съответства на конкретната версия на вашия R).

Пълна информация за пакета (версия, основна тематична област, автори, дати на промените, лицензи, други функционално свързани пакети, пълен списък с функции, посочващи тяхното предназначение и т.н.) може да бъде получена чрез командата

библиотека(помощ=име_на_пакета), например:

библиотека(помощ=Матрица) Всички R пакети попадат в една от трите категории: основни ("основни"), препоръчани ("препоръчани") и други, инсталирани от потребителя.

Можете да получите списък с тях на конкретен компютър, като издадете командата library() или:

installed.packages(priority = "base")installed.packages(priority = "recommended") # Получаване пълен списъкпакети packlist - rownames(installed.packages()) # Извеждане на информация в клипборда във формат на Excel write.table(packlist,"clipboard",sep="\t", col.names=NA) Обикновено са включени основни и препоръчани пакети към R инсталационния файл.

Разбира се, няма нужда веднага да инсталирате много различни пакети в резерв.

За да инсталирате пакет, просто изберете елемента от менюто „Packages Install package(s)“ в командния прозорец на R Console или въведете, например, командата:

install.packages(c("vegan", "xlsReadWrite", "car"))

Пакетите могат да бъдат изтеглени например от руския „огледало“ http://cran.gis-lab.info, за което е удобно да се използва изданието на файла Rprofile.site, както е показано в раздел 1.1.

Друг вариант за инсталиране на пакети е да отидете на уебсайта http://cran.gis-lab.info/web/packages, да изберете желания пакет като zip файл и да го изтеглите в избраната папка на вашия компютър.

В този случай можете да прегледате цялата информация за пакета, по-специално описание на функциите, включени в него, и да решите колко ви е необходима. След това трябва да изпълните елемента от командното меню „Пакети Инсталиране на пакети от локални zip файлове“.

Когато стартирате конзолата RGui, се зареждат само някои основни пакети. За да инициализирате който и да е друг пакет, трябва да издадете командата библиотека (име_на_пакета), преди да използвате директно нейните функции.

Можете да определите кои пакети се зареждат във всеки момент от сесията, като издадете командата:

sessionInfo() R версия 2.13.2 (2011-09-30) Платформа: i386-pc-mingw32/i386 (32-битова)

–  –  –

други прикачени пакети:

Vegan_2.0-2 permute_0.6-3

заредено чрез пространство от имена (и не е прикачено):

Grid_2.13.2 lattice_0.19-33 tools_2.13.2 Предоставяме в следващата таблица списък (може би неизчерпателно пълен) на пакети, които са били използвани в скриптовете, представени в тази книга:

R пакети Предназначение "Основни" пакети Основни конструкции R base Компилатор на пакети R компилатор Набор от таблици с данни за тестване и демонстриране на функции набори от данни Основни графични функции графики Драйвери на графични устройства, цветови палитри, шрифтове grDevices Функции за създаване на решетка на графични слоеве Обектно-ориентирано програмиране компоненти (класове, методи методи) Функции за работа с регресионни сплайнове различни видовесплайнове Основни функции на статистическия анализ статистики Методи статистически функции class S4 stats4 Компоненти на потребителския интерфейс (менюта, полета за избор и т.н.) tcltk Информационна поддръжка, инструменти за администриране и документиране Различни помощни програми за отстраняване на грешки, I/O, архивиране и др.

Utils "Препоръчани" пакети Функции на различни процедури за стартиране и jackknife стартиране Различни алгоритми за не-йерархична класификация и разпознаване на клас Алгоритми за разделяне и йерархично клъстериране на клъстер Анализ и проверка на кодове R codetools Четене и запис на файлове в различни формати (DBF, SPSS, DTA , Stata) чужди функции, обслужващи оптимизирането на изглаждането на ядрото KernSmooth Графични функцииразширена функционалност (Sarkar, 2008) решетка Набор от данни и статистически функции (Venables, Ripley, 2002) MASS Матрица и векторни операции Матрица Обобщени модели на адитивни и смесени ефекти mgcv Линейни и нелинейни модели на смесени ефекти nlme Невронни мрежидиректно разпространение nnet Изграждане на класификационни и регресионни дървета rpart Функции на кригинга и анализ на пространственото разпределение на точките пространствен анализ на оцеляването (модел на Кокс и др.) оцеляване Пакети, инсталирани по време на работа adegenet Алгоритми за анализиране на генетични разстояния ръка Анализ на регресионни модели - приложение към книгата (Gelman, Hill , 2007) car Процедури, свързани с приложен регресионен анализ corrplot Показване на корелационни матрици в графична форма fitdistrplus Избор на параметри на статистически разпределения FWDselect, Избор на набор от информативни променливи в регресионни модели packfor gamair Набори от данни за тестване адитивни геосферни модели Оценка на географски разстояния ggplot2 Усъвършенстван графичен пакет с висока функционалност DAAG Анализ на данни и графични функции за книгата (Maindonald, Braun, 2010) Набор от функции на Hmisc Harrell HSAUR2 Допълнение към книгата (Everitt, Hothorn, 2010) ISwR Първични статистически анализ в R jpeg Работа с графики jpeg файлове lars Специални типове регресия (LARS, Lasso и др.) lavaan Потвърждаващ анализ и модели на структурни уравнения lmodel2 Внедряване на регресионни модели от тип I и II (MA, SMA, RMA) maptools Инструменти за работа с географски карти мишки Процедури за анализ и попълване в липсващи стойности моменти Изчислителни функции примерни моменти nortest Критерии за тестване на хипотезата за нормално разпределение извънредни стойности Анализ на извънредни стойности в данни pastecs Анализ на пространствени и времеви редове в екологията pls Регресия на главните компоненти pwr Оценка на статистическата сила на хипотезите преоформяне Гъвкав трансформация на таблици с данни robustbase Надеждни методи за конструиране на регресионни модели rootSolve Намиране на корените на функция с няколко променливи скали Избор на цветови скали sem Модели на структурни уравнения semPlot Визуализация на структурни връзки sm Оценка на плътността на разпределение и методи за изглаждане sp Класове и методи за достъп към пространствени данни spatstat Методи за пространствена статистика, избор на модели spdep Пространствени зависимости: геостатистически методи и моделиране stargazer Извеждане на информация за статистически модели в различни vcd формати Визуализация на категориални данни Извършване на изчисления относно екологията на общността (мерки за сходство, разнообразие и веганско гнездене, нареждане и многовариантен анализ) Ако се опитаме да заредим пакет, който все още не е инсталиран в R, или се опитаме да използваме функциите на пакет, който все още не е зареден, ще получим системни съобщения:

sem(model, data=PoliticalDemocracy) Грешка: не може да намери функцията "sem" библиотека(lavaan) Грешка в библиотека(lavaan): няма пакет, наречен "lavaan" Следната функция, въведена от K. Cichini, приема като вход a списък на използваните потребители на пакети и определя кои трябва да бъдат изтеглени и кои трябва да бъдат предварително инсталирани. Разбирането на скрипта изисква познаване на конструкциите на езика R, описани в следващия раздел, но заинтересованият читател може да се върне към тези команди по-късно.

instant_pkgs - функция (pkgs) ( pkgs_miss - pkgs)] # Инсталирайте пакети, които не са готови за изтегляне:

if (length(pkgs_miss) 0) ( install.packages(pkgs_miss) ) # Изтегляне на пакети, които все още не са изтеглени:

Attached - search() attached_pkgs - attached need_to_attach - pkgs if (length(need_to_attach) 0) ( for (i in 1:length(need_to_attach)) require(need_to_attach[i], character.only = TRUE) ) ) # Пример за извикване:

instant_pkgs(c("база", "jpeg", "веган"))

Можете да получите списък с функциите на всеки пакет, например, като изпълните командата:

ls(pos = "package:vegan") Забележка: ls() е функция с общо предназначение за изброяване на обекти в дадена среда. Командата по-горе инсталира веганския пакет като такава среда. Ако издадем тази команда без параметри, ще получим списък с обекти, създадени по време на текущата сесия.

Можете да получите списък с аргументи към входящите параметри на всяка функция в зареден пакет, като издадете командата args().

Например, когато изпълняваме функцията за получаване на линеен модел lm(), която по-късно използваме широко, параметрите се задават:

Функция Args(lm) (формула, данни, подмножество, тегла, na.action, метод = "qr", модел = TRUE, x = FALSE, y = FALSE, qr = TRUE, singular.ok = TRUE, контрасти = NULL, отместване,...) Ако въведете команда, състояща се само от съкращение на функция (например изчисляване на интерквартилния диапазон на IQR), можете да получите изходния текст на функцията в кодове на език R:

IQR функция (x, na.rm = FALSE) diff(quantile(as.numeric(x), c(0.25, 0.75), na.rm = na.rm, names = FALSE)) Напреднал потребител може да прави промени в това код и "пренасочване" на повикването стандартна функциякъм вашата версия.

Ако обаче искаме да разгледаме кода на функцията predict(), която се използва за изчисляване на прогнозираните стойности на линейния модел, по същия начин, ще получим:

функция за прогнозиране (обект,...) UseMethod("предсказване") В този случай predict() е "универсална" функция: в зависимост от това кой обект на модела е предоставен на нейния вход (lm за линейна регресия, glm за Poisson или логистична регресия, lme за модел със смесени ефекти и др.), подходящият метод за получаване на прогнозирани стойности се актуализира.

По-конкретно, тази функция се използва за прилагане на следните методи:

methods("predict") predict.ar* predict.Arima* predict.arima0* predict.glm predict.HoltWinters* predict.lm predict.loess* predict.mlm predict.nls* predict.poly predict.ppr* predict.prcomp* predict.princomp* predict.smooth.spline* predict.smooth.spline.fit* predict.StructTS* Невидимите функции са означени със звездичка Този пример се отнася до идеите за обектно-ориентирано програмиране (ООП), лежащи в основата на рамката R. За ООП в In S3 стил, методът е, строго погледнато, функция, която се извиква от друга обща функция, като print(), plot() или summary(), в зависимост от класа на обекта, предоставен на нейния вход. В този случай атрибутът на класа отговаря за „ориентацията на обекта“, което гарантира правилното изпращане и извикване на необходимия метод за даден обект. Така че „функцията на метода“ за получаване на прогнозирани стойности на обобщен линеен модел ще има извикване на predict.glm(), при изглаждане със сплайни – predict.smooth.spline() и т.н. Подробна информация S3 OOP моделът може да бъде намерен в секцията за помощ на S3Methods, а по-усъвършенстваният модел S4 може да бъде намерен в секцията Methods.

И накрая, нека разгледаме някои прости техники за запазване на работата, произведена по време на R сесия:

° sink(file= име на файл) – извежда резултатите от изпълнението на последващи команди в реално време към файл с посоченото име; За да прекратите тази команда, трябва да изпълните командата sink() без параметри;

° save(file= име на файл, списък със запазени обекти) – записва посочените обекти в двоичен файл в XDR формат, с който може да се работи във всеки операционна система;

° load(file= име на файл) – възстановява записани обекти в текущата среда;

° save.image(file= име на файл) – запазва всички обекти, създадени по време на работа, като R-специфичен rda файл.

Пример за прехвърляне на генерирана таблица с данни в клипборда във формат, съвместим със структурата на листа на Excel, беше даден по-горе в този раздел. Глава 6 ще предостави пример за прехвърляне на данни от обект на линеен модел към файл на Word.

Средата R може да генерира пикселни изображения с необходимото качество за почти всяка разделителна способност на дисплея или печатащо устройство, както и да записва получените графични прозорци във файлове с различни формати. Има функция на драйвер за всяко устройство за графичен изход: можете да въведете командата help(Devices), за да получите пълен списък с драйвери.

Сред графичните устройства най-често срещаните са:

° windows() – графичен Windows прозорец(екран, принтер или метафайл).

° png(), jpeg(), bmp(), tiff() – извеждане в растерен файл с подходящ формат;

° pdf(),postscript() – изход графична информация V PDF файлили PostScript.

Когато приключите работата с изходното устройство, трябва да деактивирате неговия драйвер с помощта на командата dev.off(). Възможно е едновременно да активирате няколко устройства за графичен изход и да превключвате между тях: вижте например съответния раздел в книгата на Шипунов и др. (2012 г., стр. 278).

1. ОПИСАНИЕ НА ЕЗИКА R

2.1. Типове данни на езика R Всички обекти с данни (и следователно променливи) в R могат да бъдат разделени на следните класове (т.е. типове обекти):

° numeric – обекти, които включват цели числа (integer) и реални числа (double);

° логически – логически обекти, които приемат само две стойности: FALSE (съкратено F) и TRUE (T);

° символ – символни обекти (стойностите на променливите са посочени в двойни или единични кавички).

В R можете да създавате имена за различни обекти (функции или променливи) както на латиница, така и на кирилица, но имайте предвид, че a (кирилица) и a (латиница) са два различни обекта. Освен това R средата е чувствителна към главни и малки букви, т.е. малките и главните букви са различни. Имената на променливи (идентификатори) в R трябва да започват с буква (или точка) и да се състоят от букви, цифри, точки и долна черта.

С помощта на екип? име, можете да проверите дали съществува променлива или функция с посоченото име.

Проверката дали дадена променлива принадлежи към определен клас се проверява от функциите is.numeric(име_на_обект), is.integer(име), is.logical(име), is.character(име) и за преобразуване на обект в друг тип можете да използвате функциите as.numeric (име), as.integer(име), as.logical(име), as.character(име).

В R има редица специални обекти:

° Inf – положителна или отрицателна безкрайност (обикновено резултат от разделяне на реално число на 0);

° NA – „липсваща стойност” (Not Available);

° NaN – „не е число”.

Проверете дали дадена променлива принадлежи към някое от тях специални видове, може да се използва съответно от функциите is.nite(име), is.na(име) и is.nan(име).

R изразът е комбинация от елементи като оператор за присвояване, аритметични или логически оператори, имена на обекти и имена на функции. Резултатът от изпълнението на израз обикновено се показва веднага в командния или графичния прозорец. Въпреки това, когато се извърши операция по присвояване, резултатът се съхранява в съответния обект и не се показва на екрана.

Като оператор за присвояване в R можете да използвате или символа „=“, или двойка символи „-“ (присвояване на конкретна стойност на обекта отляво) или „-“ (присвояване на стойност на обекта от вдясно). Счита се за добър стил на програмиране използването на „-“.

Изразите на език R са организирани ред по ред в скрипт. Можете да въведете няколко команди на един ред, като ги разделите със символа „;“. Една команда може да бъде поставена и на два (или повече) реда.

числовите обекти могат да формират изрази, използвайки традиционни аритметични операции + (събиране), – (изваждане), * (умножение), / (деление), ^ ​​(степенно степенуване), %/% (цялочислено деление), %% (остатък) от деленето) . Операциите имат нормален приоритет, т.е. Първо се извършва степенуване, след това умножение или деление, след това събиране или изваждане. Изразите могат да използват скоби и операциите в тях имат най-висок приоритет.

Логическите изрази могат да бъдат съставени с помощта на следните логически оператори:

° "Равно на" == ° "Не е равно на" != ° "По-малко от" ° "По-голямо от" ° "По-малко или равно на" = ° "По-голямо или равно на" = ° "Логическо И" & ° „Логическо ИЛИ“ | ° "Логично НЕ" !

ПОДДРЪЖКА, AU TSOURCING УСЛУГИ G&A АДМИНИСТРАЦИЯ НА ФОНДОВЕ 2-ра ОБЛАСТ НА ДЕЙНОСТ НА КОМПАНИЯТА AMICORP GROUP СЕ ОТПРАВЯТЕ ОТ ТЪЛПАТА w w w.am icor p. c om AMICORP GROUP СФЕРИ НА ДЕЙНОСТ НА КОМПАНИЯТА СЪДЪРЖАНИЕ ЗА КОМПАНИЯТА НАШИТЕ УСЛУГИ Услуги за корпоративни клиенти Услуги за институционални продажби Създаване и управление...”

„Федерална държавна образователна бюджетна институция за висше професионално образование „Финансов университет към правителството на Руската федерация“ Катедра „Маркетинг“ СЪВРЕМЕННИ НАПРАВЛЕНИЯ НА МАРКЕТИНГА: ТЕОРИЯ, МЕТОДОЛОГИЯ, ПРАКТИКА КОЛЕКТИВНА МОНОГРАФИЯ Под общата редакция на S.V. Карпова Москва 2011 Рецензенти: Н.С. Перекалина - доктор по икономика, професор, гл. Катедрата по маркетинг "МАТИ" - Руски държавен технологичен университет на името на. К. Е. Циолковски S.S. Соловьов..."

„Малък дигитален бюлетин за CAFE и TEA RDACTION: гл. Редактор: Весела Дъбова бр.4 декември 2011 г. Редактор: Отслабване с чай Теодора Василева Гергана Иванов Издателство: АББ Как са всички случаи в организма при приема на чаената напитка и как всички случаи са отслабени от Най-сигурността и здравословното начало. за намаляване на теглото е редовната консумация за купичка чай. Има различни мнения относно достоверността на теорията, но много малко факти доказват, че всяка чаша чай се съчетава с определения режим на...”

„МЕЖДУНАРОДНА ИНТЕРДИСЦИПЛИНАРНА НАУЧНА КОНФЕРЕНЦИЯ RADICAL SPACE IN BETWEEN DISCIPLINES RCS 2015 КОНФЕРЕНЦИЯ СБОРНИК С РЕЗЮМЕТА РЕДАКТОРИ Romana Bokovi Miljana Zekovi Slaana Milievi НОВИ САД / СЪРБИЯ / 21-23 СЕПТЕМВРИ / 2015 Radical Space In Between Disciplines Conference Editor Book of Abstracts с: Романа Бокови Миляна Зекови Слаана Милиеви ISBN: 978-86-7892-733-1 Оформление: Мая Момиров Дизайн на корицата: Стефан Вужи Публикувано от Катедрата по архитектура и урбанизъм, Факултет по технически науки,...”

„САНКТ-ПЕТЕРБУРГСКИ ДЪРЖАВЕН УНИВЕРСИТЕТ Факултет по география и геоекология Катедра по геоморфология ДИПЛОМНА РАБОТА (последна квалификационна работа) на тема: „Геоморфологични особености и палеоклимат на арктическите езера (на примера на езерата в централния сектор на руската Арктика)“ Завършен от: вечерник Елена Александровна Морозова Научни ръководители: д-р по география, проф. Болшиянов Дмитрий Юриевич д-р, ст преподавател Савелиева Лариса Анатолиевна Рецензент: д-р, ръководител...”

„Мишката Apacer M811 е лазерен мини SUV за комплекта. http://news.kosht.com/computer/mouse/2009/11/26/mysh_apacer_m811. плъгин за търсене на дневни цени KOSHT.com за Браузър Firefox. Инсталирайте с едно кликване. Един килобайт. Начало Новини Цени Обяви Работа Форуми Фирми Моби Търсене Намерете вашите новини Всички новини на KOSTA Компютри и компоненти Мишки Компютри и компоненти Мишки Всички новини на KOSTA Най-добри игрови компютриОн-лайн изчисление в UltraPrice.by Мишка Apacer M811 – лазерен мини-SUV [...»

"ФЕДЕРАЛНА АГЕНЦИЯ ПО ОБРАЗОВАНИЕТО ДЪРЖАВНА ОБРАЗОВАТЕЛНА ИНСТИТУЦИЯ ЗА ВИСШЕ ПРОФЕСИОНАЛНО ОБРАЗОВАНИЕ МОСКОВСКИЯ ДЪРЖАВЕН ИНДУСТРИАЛЕН УНИВЕРСИТЕТ (GOU MGIU) "ИНФОРМАЦИОННИ СИСТЕМИ И ТЕХНОЛОГИИ" КАТЕДРА ЗА ДИПЛОМНА РАБОТА TA по специалността "Математическа поддръжка и администриране на информационни системи" от студент Татяна Андревна Чумакова на на тема „Изчисляване на разделени потоци за лошо обтекаемо тяло“ Ръководител на работата: проф., д-р по физика и математика. н. Алексин Владимир Адамович..."

„R WIPO A/45/3 ОРИГИНАЛ: Английски ДАТА: 15 август 2008 г. СВЕТОВНА ОРГАНИЗАЦИЯ ЗА ИНТЕЛЕКТУАЛНА СОБСТВЕНОСТ ЖЕНЕВСКА АССАМБЛЕЯ НА ДЪРЖАВИТЕ-ЧЛЕНКИ СОИС Четиридесет и пета поредица от срещи Женева, 22-30 септември 2008 г. ДОПУСКАНЕ НА НАБЛЮДАТЕЛИ Меморандум doom Генералният директор I. ДОПУСКАНЕ НА МЕЖДУНАРОДНИ НЕПРАВИТЕЛСТВЕНИ ОРГАНИЗАЦИИ КАТО НАБЛЮДАТЕЛИ 1. На предишните си сесии Асамблеите приеха редица принципи, които да се прилагат при насочване на международни неправителствени организации...”

„1 Олег Санаев. ЧЕТИРИ ГОДИНИ И СТРУВА ОКОЛОСВЕТСКА ОБИКОЛОДКА С продължителността на пътуването на Евгений Александрович Гвоздев с яхтата Лена, посочено в заглавието, всичко е наред – четири години плюс две седмици: на 7 юли 1992 г. той напусна пристанището на Махачкала, на 19 юли 1996 г. се върна. Но с парите това е явно преувеличение или по-скоро подценяване: не можете, разбира се, да живеете със сто долара четири години - ще си опънете краката. Но при започване на плаването си Гвоздев е имал точно тази сума. И поне краката..."

"Институт по мениджмънт, Изследователски университет Белгородски държавен национален изследователски университет ТЕХНОЛОГИИ ЗА ФОРМИРАНЕ НА СИГУРНОСТТА, ОСИГУРЯВАЩИ ФОРМИРАНЕТО НА КАНДИДАТСКИЯ РЕЗЕРВ ОТ ПЕРСОНАЛА ЗА ДЪРЖАВНА И ОБЩИНСКА И ОБЩИНСКА СЛУЖБА Резюме: Резюме: В статията се обсъжда..."

„БЕЛЕЖКИ НА Лидия ЯНОВСКАЯ ЗА МИХАИЛ БУЛГАКОВ МОСКОВСКИЙ „ТЕКСТ“ УДК 821.161.1 BBK 84 (2Рос-Рус)6-44 Ya64 ISBN 978-5-7516-0660-2 ISBN 978-985-16-3297-4 (Harvest LLC " ) "Текст", 2007 г. "БРАВО, БИС, ЗАЛОЖНА КЪЩИЦА!" “БРАВО, БИС, ЗАЛОЖНА КЪЩА!” Не знам къде днес се намира редакцията на списание „Юность“ в Москва. Има ли още такова списание? В средата на 70-те тази най-млада и красива редакция в Москва се намираше на Садовая-Триумфальная, до площад Маяковски, заемайки малко, но изключително уютно..."

„Приложение 1 ФОРМУЛЯРИ ЗА ЗАЯВКИ ЗА КОНКУРСИ 2013 г. Форма „Т“. Заглавна страница на заявлението до Руската хуманитарна научна фондация Име на проекта Номер на проекта Тип на проекта (a, c, d, e, f) Област на познание (код) Код на класификатора на Руската хуманитарна научна фондация GRNTI код (http://www .grnti.ru/) Приоритетно направление за развитие на науката и технологиите и технологиите в Руската федерация, критична технология1 Фамилия, име, бащино име на ръководителя номер за връзкаръководител на проекта Пълно и кратко наименование на организацията, чрез която трябва да се осъществи...”

„Доклад на FNI 8/2014 Прилагане на политиките на ЕС за климата и енергетиката в Полша: от европеизация към полонизация? Jon Birger Skjrseth Прилагане на политиките на ЕС за климата и енергетиката в Полша: от европеизация към полонизация? Джон Биргер Скджърсет [имейл защитен]Декември 2014 г. Copyright © Fridtjof Nansen Institute 2014 Заглавие Прилагане на политиките на ЕС за климата и енергетиката в Полша: от европеизация към полонизация? Вид на публикацията и брой страници Доклад на FNI 8/2014 57 Автор ISBN 978-82-7613-683-8 Джон...”

""Научни бележки на ТОГУ" Том 6, № 4, 2015 ISSN 2079-8490 Електронна научна публикация "Научни бележки на ТОГУ" 2015, том 6, № 4, стр. 173 - 178 Удостоверение El No. FS 77-39676 от 05.05.2010 http://pnu.edu.ru/ru/ejournal/about/ [имейл защитен] UDC 316.33 © 2015 I. А. Гареева, доктор по социология. наук, А. Г. Киселева (Тихоокеански държавен университет, Хабаровск) ФОРМИРАНЕ НА СИСТЕМИ ЗА СОЦИАЛНО ОСИГУРЯВАНЕ В тази статия се анализира формирането на системите за социално осигуряване и тяхното текущо състояние...”

„Програма на конференцията Чианг Май, Тайланд ноември, 2015 APCBSS Азиатско-тихоокеанска конференция за бизнес и социални науки ICEI Международна конференция за образователни иновации APCLSE Азиатско-тихоокеанска конференция за науки за живота и инженерство APCBSS Азиатско-тихоокеанска конференция за бизнес и социални науки ISBN978-986- 90263-0-7 Международна конференция на ICEI за иновации в образованието ISBN 978-986-5654-33-7 APCLSE Азиатско-тихоокеанска конференция по наука за живота и инженерство ISBN 978-986-90052-9-6 Съдържание Съдържание..."



Зареждане...
Връх