Основы программирования в R: различия между версиями

Материал из MathINFO
Перейти к навигации Перейти к поиску
 
(не показано 28 промежуточных версий этого же участника)
Строка 37: Строка 37:
 
* Матрицы ([https://allatambov.github.io/rprog21/r-matrices.pdf конспект], [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/r-matrices.R код] [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/r-matrices.Rmd Rmd]). [https://www.dropbox.com/s/vietdaeuazhswnx/topic4.mp4?dl=0 Видеозапись] занятия + практикум 1.
 
* Матрицы ([https://allatambov.github.io/rprog21/r-matrices.pdf конспект], [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/r-matrices.R код] [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/r-matrices.Rmd Rmd]). [https://www.dropbox.com/s/vietdaeuazhswnx/topic4.mp4?dl=0 Видеозапись] занятия + практикум 1.
 
* Списки ([https://allatambov.github.io/rprog21/r-lists.pdf конспект], [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/r-lists.R R], [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/r-lists.Rmd Rmd]). [https://www.dropbox.com/s/fdxlf0pezcexokp/topic5.mp4?dl=0 Видеозапись] + практикум 2.
 
* Списки ([https://allatambov.github.io/rprog21/r-lists.pdf конспект], [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/r-lists.R R], [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/r-lists.Rmd Rmd]). [https://www.dropbox.com/s/fdxlf0pezcexokp/topic5.mp4?dl=0 Видеозапись] + практикум 2.
* Глава 3 из ''Наглядная статистика. Используем R!'' Linear algebra and matrices [https://cran.r-project.org/doc/contrib/Shipunov-rbook.pdf in R].
+
* Глава 3 из ''Наглядная статистика. Используем R!''. Linear algebra and matrices [https://cran.r-project.org/doc/contrib/Shipunov-rbook.pdf in R].
  
 
'''Тема 3. Функции. Условные конструкции. Циклы.'''
 
'''Тема 3. Функции. Условные конструкции. Циклы.'''
Строка 48: Строка 48:
  
 
* Файлы для работы: [https://allatambov.github.io/rprog/data/firtree.csv firtree.csv], [https://github.com/allatambov/PyDat-0919/blob/master/lectures-seminars/7-pandas/test1.xlsx test1.xls], [https://github.com/allatambov/PyDat-0919/blob/master/lectures-seminars/7-pandas/test2.csv test2.csv].
 
* Файлы для работы: [https://allatambov.github.io/rprog/data/firtree.csv firtree.csv], [https://github.com/allatambov/PyDat-0919/blob/master/lectures-seminars/7-pandas/test1.xlsx test1.xls], [https://github.com/allatambov/PyDat-0919/blob/master/lectures-seminars/7-pandas/test2.csv test2.csv].
* Загрузка данных и их описание ([https://allatambov.github.io/rprog21/r-data-desc.pdf конспект], [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/r-data-desc.Rmd Rmd]). [https://www.dropbox.com/s/6c1ncywgiszk6f1/topic8.mp4?dl=0 Видеозапись] занятия.
+
* Загрузка данных и их описание ([https://allatambov.github.io/rprog21/r-data-desc.pdf конспект], [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/r-data-desc.Rmd Rmd]). Практикум 3 видеозапись [https://www.dropbox.com/s/9sklzxts8l3xda6/topic-07-01.mp4?dl=0 1] и [https://www.dropbox.com/s/osw7oacx7si02h6/topic07-02.mp4?dl=0 2]. [https://www.dropbox.com/s/6c1ncywgiszk6f1/topic8.mp4?dl=0 Видеозапись] занятия.
 +
* Основы работы с датафреймами ([https://allatambov.github.io/rprog/pdf/rdata-handle.pdf конспект], [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/rdata-handle.Rmd Rmd], [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/rdata-handle.R R]). [https://www.dropbox.com/s/dlsx3q1jftnwss8/topic9.mp4?dl=0 Видеозапись] занятия + практикум 4.
 +
 
 +
'''Тема 5. Введение в веб-приложения Shiny. '''
 +
 
 +
* Введение в Shiny ([https://allatambov.github.io/rprog/shiny-1.pdf конспект)]. Файл с гистограммой ([https://gist.githubusercontent.com/allatambov/7b0f2d5f9c65a555106b865a47e1518e/raw/0d432a167566ecba0c34d018eec08efcca767315/shiny-1 app.R]).
 +
* [https://shiny.rstudio.com/tutorial/ Документация] Shiny, [https://shiny.rstudio.com/gallery/ галерея] Shiny.
 +
 
 +
'''Тема 6. Визуализация данных. Разведывательный анализ данных. '''
 +
 
 +
* Файлы для работы [https://allatambov.github.io/rprog/data/firtree.csv firtree.csv], [https://allatambov.github.io/rprog/data/CPDS.csv CPDS.csv].
 +
* Визуализация и разведывательный анализ данных: часть 1 ([https://allatambov.github.io/rprog/pdf/rdata-visual-p1.pdf конспект], [https://allatambov.github.io/rprog21/rdata-visual-p2.Rmd Rmd], R). Видеозапись занятия [https://www.dropbox.com/s/h1ejc4knoecnvm6/topic10.mp4?dl=0 1] и [https://www.dropbox.com/s/cyotgrytqpvpei4/topic11.mp4?dl=0 2].
 +
* Визуализация и разведывательный анализ данных: часть 2 ([https://allatambov.github.io/rprog21/rdata-visual-p2.pdf конспект], [https://allatambov.github.io/rprog21/rdata-visual-p2.Rmd Rmd], [https://allatambov.github.io/rprog21/rdata-visual-p2.R R]). [https://www.dropbox.com/s/3oq3fko815kwm8p/topic12.mp4?dl=0 Видеозапись] занятия.
 +
* Главы 4-6 из ''Наглядная статистика. Используем R!''.
 +
* Диаграммы рассеивания ([https://www.statmethods.net/graphs/scatterplot.html тьюториал]), Exploratory Data Analysis with R ([https://bookdown.org/rdpeng/exdata/ книга]).
 +
 
 +
'''Тема 7. Обработка данных с tidyverse. Регулярные выражения.'''
 +
 
 +
* Файлы для работы: [https://allatambov.github.io/rprog/data/Characters.csv Characters.csv], [https://allatambov.github.io/rprog/data/food_coded.csv food_coded.csv].
 +
* Работа с данными с tidyverse: регулярные выражения ([https://allatambov.github.io/rprog/pdf/rdata-tidyverse-re.pdf конспект]). [https://www.dropbox.com/sh/a2jjb5yynteanga/AABh2Wk3iQ_wdgaRbvSfVlAga?dl=0 Видеозапись] занятия (16 марта).
 +
* Работа с данными с tidyverse: часть 1 ([https://allatambov.github.io/rprog/pdf/rbase-tidyverse-p1.pdf конспект]).
 +
* Работа с данными с tidyverse: часть 2 ([https://allatambov.github.io/rprog/pdf/rbase-tidyverse-p2.pdf конспект]). [https://www.dropbox.com/sh/tlhvisco6eycrj0/AAA1QfGXKfqU33lqc7V_XIUia?dl=0 Видеозапись] занятия (6 апреля).
 +
* Выгрузка описательных статистик с помощью stargazer ([https://allatambov.github.io/rprog/pdf/rdata-stargazer.pdf конспект]).
 +
* Библиотеки [https://dplyr.tidyverse.org/ dplyr], [https://tidyr.tidyverse.org/ tidyr], [https://stringr.tidyverse.org/ stringr].
 +
 
 +
'''Тема 8. Визуализация данных c ggplot2.'''
 +
 
 +
* Файлы для работы: [https://allatambov.github.io/rprog/data/wgi-new.csv wgi-new.csv], [https://allatambov.github.io/rprog/data/summer.csv summer.csv], [https://allatambov.github.io/rprog/data/winter.csv winter.csv]
 +
* Визуализация данными с ggplot2: часть 1 ([https://allatambov.github.io/rprog/pdf/rbase-ggplot-p1.pdf конспект]). [https://www.dropbox.com/s/f7wgfckel2pi467/13-04.mp4?dl=0 Видеозапись] (13 апреля).
 +
* Визуализация данными с ggplot2: часть 2 ([https://allatambov.github.io/rprog/pdf/rbase-ggplot-p2.pdf конспект]). [https://www.dropbox.com/s/53yyma006b3vjfz/20-04.mp4?dl=0 Видеозапись] (20 апреля).
 +
* Принципы визуализации: [https://rpubs.com/AllaT/visuals ссылка].
 +
* [http://extremepresentation.typepad.com/files/choosing-a-good-chart-09.pdf Выбор] типа визуализации и [https://www.tableau.com/sites/default/files/media/which_chart_v6_final_0.pdf описание] графиков от Tableau.
 +
* [https://www.sisense.com/blog/quiz-chart/ Тест], какой ты график.
 +
 
 +
'''Тема 9. Парсинг HTML-файлов.'''
 +
 
 +
* Код с занятия (парсинг Nplus1): [https://gist.github.com/allatambov/267fb7a50b039656ba0ab5af7c329318 ссылка], [https://www.dropbox.com/sh/xt7tw1otrx51xly/AADqFkqVpMFVn1a0YCeZ3yADa?dl=0 видеозапись].
 +
* [https://www.w3schools.com/xml/xpath_intro.asp Тьюториал] по XPATH
  
 
==Практикумы==
 
==Практикумы==
Строка 55: Строка 92:
 
* Практикум 2. Матрицы и списки ([https://allatambov.github.io/rprog21/rprog-sem2.pdf задания], [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/rprog-sem2.Rmd Rmd], [https://allatambov.github.io/rprog21/rprog-sem2-sol.pdf решения]).
 
* Практикум 2. Матрицы и списки ([https://allatambov.github.io/rprog21/rprog-sem2.pdf задания], [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/rprog-sem2.Rmd Rmd], [https://allatambov.github.io/rprog21/rprog-sem2-sol.pdf решения]).
 
* Практикум 3. Функции, условные конструкции и цикл for ([https://allatambov.github.io/rprog21/rprog-sem3.pdf задания], [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/rprog-sem3.Rmd Rmd], [https://allatambov.github.io/rprog21/rprog-sem3-solutions.pdf решения]).
 
* Практикум 3. Функции, условные конструкции и цикл for ([https://allatambov.github.io/rprog21/rprog-sem3.pdf задания], [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/rprog-sem3.Rmd Rmd], [https://allatambov.github.io/rprog21/rprog-sem3-solutions.pdf решения]).
 +
* Практикум 4. Семинар по теме: датафреймы и виджеты Shiny ([https://rpubs.com/AllaT/rbase-sem4 задания]), файл [https://vincentarelbundock.github.io/Rdatasets/csv/carData/Chile.csv Chile.csv], [https://raw.githubusercontent.com/allatambov/r20-homeworks/master/template1.R template1.R], [https://gist.github.com/allatambov/c04a9ba673f23321547cf6e05c592275 решения].
 +
* Практикум 5. Семинар по теме: введение в tidyverse и регулярные выражения ([https://rpubs.com/AllaT/rbase-sem5 задания], [https://rpubs.com/AllaT/rbase-sem5-sol решения]).
 +
* Практикум 6. Создание дэшборда Shiny с графиками ggplot2 ([https://www.dropbox.com/s/1wldhvjj0fs00do/%D0%9F%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%BA%D1%83%D0%BC%20%D0%BF%D0%BE%20Shiny%20%D0%B8%20ggplot2.mp4?dl=0 видеозапись], [https://gist.github.com/allatambov/da17e0634974c3d124c700bae30bc888 код], [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/summer.csv summer.csv], [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/winter.csv winter.csv].
 +
* Практикум 7. Интерактивные графики с plotly.  [https://www.dropbox.com/sh/zrufr4plhmvw21b/AAByW2J_3s2vFPxBOCudbvOUa?dl=0 Видеозапись], [https://gist.github.com/allatambov/f2dc41154b150f51455a9500c8258640 код].
  
 
==Домашние задания==
 
==Домашние задания==
Строка 66: Строка 107:
 
| Домашнее задание 2 || [https://allatambov.github.io/rprog21/hw2.pdf задание] [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/hw2.Rmd Rmd]|| 06.02 23:59 || [https://www.dropbox.com/request/HXk5EORndD88FIj4hqaD Dropbox]
 
| Домашнее задание 2 || [https://allatambov.github.io/rprog21/hw2.pdf задание] [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/hw2.Rmd Rmd]|| 06.02 23:59 || [https://www.dropbox.com/request/HXk5EORndD88FIj4hqaD Dropbox]
 
|-
 
|-
| Домашнее задание 3 || [задание] [Rmd] || 13.02 23:59 || [https://www.dropbox.com/request/n1qHoGMZDokMjikPYozL Dropbox]
+
| Домашнее задание 3 || [https://allatambov.github.io/rprog21/hw3.pdf задание] [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/hw3_.Rmd Rmd] || 24.02 23:59 || [https://www.dropbox.com/request/n1qHoGMZDokMjikPYozL Dropbox]
 +
|-
 +
| Домашнее задание 4 || [https://allatambov.github.io/rprog21/hw4.pdf задание] [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/hw4.Rmd Rmd] [https://allatambov.github.io/rprog/data/wgi_fh.csv wgi_fh.csv]|| 21.03 23:59 || [https://www.dropbox.com/request/tXEDNbE3BDXloD9tRYIg Dropbox]
 +
|-
 +
| Домашнее задание 5 || [https://allatambov.github.io/rprog/hw/hw9.pdf задание]|| 19.05 23:59 || [https://www.dropbox.com/request/wb5jMToLLDKDTcRJHdvQ Dropbox]
 
|}
 
|}
 +
 +
==Проект==
 +
 +
'''Описание проекта'''
 +
 +
Проект выполняется индивидуально.
 +
[https://allatambov.github.io/rprog/project.pdf Файл] с описанием проекта.
 +
 +
''' Сдача проекта'''
 +
 +
Проект (Rmd-файл, html-файл, pdf-файл с описанием, csv-файл с данными, вспомогательные файлы при наличии) необходимо загрузить на Dropbox в виде zip-архива до 13 июня 23:59 по [https://www.dropbox.com/request/S4sWECWonnt4gB1Q0oOb ссылке].
 +
 +
'''Данные для проекта'''
 +
 +
Для проекта можно взять любые данные (кроме тех файлов, с которыми мы работали на занятиях).

Текущая версия на 22:00, 14 июня 2021

Это страница курса по выбору «Основы программирования в R», читаемого на программе «Политология» 3 курса бакалавриата в 2020/2021 учебном году.

Лекции и семинары ведет: Тамбовцева Алла Андреевна

Правила игры

  • Программа курса.
  • Формула оценки: 0.12 × Аудиторная работа + 0.24 × ДЗ + 0.24 × Проект + 0.4 × Экзамен.
  • Домашние задания сдаются через Dropbox.
  • При сдаче домашнего задания позже указанного срока предусмотрены штрафы: 10% от оценки за опоздание в пределах часа, 20% – в пределах суток, 50% – в пределах недели.

R и RStudio

Для работы на этом курсе необходимо установить (именно в таком порядке): R и RStudio.

Ссылки для скачивания:

Мы будем использовать новую версию R 4.0.3, но если у вас уже установлена более ранняя версия, специально переустанавливать R необязательно. Мы будем учитывать разницы в версиях на занятиях. Внимание: после установки новой версии R поверх старой, установленные ранее библиотеки слетят, и их придётся ставить заново.

Материалы занятий

Учебник А.Б.Шипунов и др. Наглядная статистика. Используем R!

Тема 1. Введение в R и RMarkdown. Ввод и вывод.

Тема 2. Векторы. Матрицы и списки.

Тема 3. Функции. Условные конструкции. Циклы.

Тема 4. Загрузка данных в R и их описание.

Тема 5. Введение в веб-приложения Shiny.

Тема 6. Визуализация данных. Разведывательный анализ данных.

  • Файлы для работы firtree.csv, CPDS.csv.
  • Визуализация и разведывательный анализ данных: часть 1 (конспект, Rmd, R). Видеозапись занятия 1 и 2.
  • Визуализация и разведывательный анализ данных: часть 2 (конспект, Rmd, R). Видеозапись занятия.
  • Главы 4-6 из Наглядная статистика. Используем R!.
  • Диаграммы рассеивания (тьюториал), Exploratory Data Analysis with R (книга).

Тема 7. Обработка данных с tidyverse. Регулярные выражения.

Тема 8. Визуализация данных c ggplot2.

Тема 9. Парсинг HTML-файлов.

Практикумы

Домашние задания

Домашнее задание Файлы Дедлайн Куда сдавать
Домашнее задание 1 задание 01.02 23:59 Dropbox
Домашнее задание 2 задание Rmd 06.02 23:59 Dropbox
Домашнее задание 3 задание Rmd 24.02 23:59 Dropbox
Домашнее задание 4 задание Rmd wgi_fh.csv 21.03 23:59 Dropbox
Домашнее задание 5 задание 19.05 23:59 Dropbox

Проект

Описание проекта

Проект выполняется индивидуально. Файл с описанием проекта.

Сдача проекта

Проект (Rmd-файл, html-файл, pdf-файл с описанием, csv-файл с данными, вспомогательные файлы при наличии) необходимо загрузить на Dropbox в виде zip-архива до 13 июня 23:59 по ссылке.

Данные для проекта

Для проекта можно взять любые данные (кроме тех файлов, с которыми мы работали на занятиях).