Основы программирования в R: различия между версиями
Строка 28: | Строка 28: | ||
* Инструкция по работе с RStudio ([https://allatambov.github.io/rprog/instruction-rstudio.pdf файл]). Язык разметки Markdown в RStudio ([https://rpubs.com/AllaT/rprog-intro-rmd конспект]). | * Инструкция по работе с RStudio ([https://allatambov.github.io/rprog/instruction-rstudio.pdf файл]). Язык разметки Markdown в RStudio ([https://rpubs.com/AllaT/rprog-intro-rmd конспект]). | ||
− | * R как калькулятор, переменные и типы переменных в R ([http://allatambov.github.io/rprog21/r-basics.pdf конспект], [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/r-basics.R R], [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/r-basics.Rmd Rmd]) | + | * R как калькулятор, переменные и типы переменных в R ([http://allatambov.github.io/rprog21/r-basics.pdf конспект], [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/r-basics.R R], [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/r-basics.Rmd Rmd]). |
− | * Ввод и вывод ([http://allatambov.github.io/rprog21/r-input-output.pdf конспект], [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/r-input-output.R R], [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/r-input-output.Rmd Rmd]) | + | * Ввод и вывод ([http://allatambov.github.io/rprog21/r-input-output.pdf конспект], [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/r-input-output.R R], [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/r-input-output.Rmd Rmd]). |
* Официальный RMarkdown [https://rstudio.com/wp-content/uploads/2015/02/rmarkdown-cheatsheet.pdf Cheatsheet]. Глава 2 из ''Наглядная статистика. Используем R!'' | * Официальный RMarkdown [https://rstudio.com/wp-content/uploads/2015/02/rmarkdown-cheatsheet.pdf Cheatsheet]. Глава 2 из ''Наглядная статистика. Используем R!'' | ||
'''Тема 2. Векторы. Матрицы и списки.''' | '''Тема 2. Векторы. Матрицы и списки.''' | ||
− | * Векторы: часть 1 ([https://allatambov.github.io/rprog21/r-vect-1.pdf конспект], [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/r-vectors-1.R R] [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/r-vect-1.Rmd Rmd]). Векторы: часть 2 ([https://allatambov.github.io/rprog21/r-vect-2.pdf конспект], [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/r-vectors-2.R R] [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/r-vect-2.Rmd Rmd]) | + | * Векторы: часть 1 ([https://allatambov.github.io/rprog21/r-vect-1.pdf конспект], [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/r-vectors-1.R R] [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/r-vect-1.Rmd Rmd]). Векторы: часть 2 ([https://allatambov.github.io/rprog21/r-vect-2.pdf конспект], [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/r-vectors-2.R R] [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/r-vect-2.Rmd Rmd]). |
− | * Матрицы ([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://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://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://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]). |
* Глава 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]. | ||
Строка 42: | Строка 42: | ||
* Функции ([https://allatambov.github.io/rprog21/r-functions.pdf конспект], [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/r-functions.Rmd Rmd], [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/r-functions.R R]). | * Функции ([https://allatambov.github.io/rprog21/r-functions.pdf конспект], [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/r-functions.Rmd Rmd], [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/r-functions.R R]). | ||
− | * Условные конструкции и циклы ([https://allatambov.github.io/rprog/pdf/if-else-for.pdf конспект], [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/if-else-for.Rmd Rmd], [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/if-else-for.R R] | + | * Условные конструкции и циклы ([https://allatambov.github.io/rprog/pdf/if-else-for.pdf конспект], [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/if-else-for.Rmd Rmd], [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/if-else-for.R R]). |
* Приложения В3-В8 из ''Наглядная статистика. Используем R!'' | * Приложения В3-В8 из ''Наглядная статистика. Используем R!'' | ||
Строка 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://allatambov.github.io/rprog21/r-data-desc.pdf конспект], [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/r-data-desc.Rmd Rmd]). |
− | * Основы работы с датафреймами ([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://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]). |
'''Тема 5. Введение в веб-приложения Shiny. ''' | '''Тема 5. Введение в веб-приложения Shiny. ''' | ||
Строка 59: | Строка 59: | ||
* Файлы для работы [https://allatambov.github.io/rprog/data/firtree.csv firtree.csv], [https://allatambov.github.io/rprog/data/CPDS.csv CPDS.csv]. | * Файлы для работы [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) | + | * Визуализация и разведывательный анализ данных: часть 1 ([https://allatambov.github.io/rprog/pdf/rdata-visual-p1.pdf конспект], [https://allatambov.github.io/rprog21/rdata-visual-p2.Rmd Rmd], R). |
− | * Визуализация и разведывательный анализ данных: часть 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]) | + | * Визуализация и разведывательный анализ данных: часть 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]). |
* Главы 4-6 из ''Наглядная статистика. Используем R!''. | * Главы 4-6 из ''Наглядная статистика. Используем R!''. | ||
* Диаграммы рассеивания ([https://www.statmethods.net/graphs/scatterplot.html тьюториал]), Exploratory Data Analysis with R ([https://bookdown.org/rdpeng/exdata/ книга]). | * Диаграммы рассеивания ([https://www.statmethods.net/graphs/scatterplot.html тьюториал]), Exploratory Data Analysis with R ([https://bookdown.org/rdpeng/exdata/ книга]). | ||
Строка 67: | Строка 67: | ||
* Файлы для работы: [https://allatambov.github.io/rprog/data/Characters.csv Characters.csv], [https://allatambov.github.io/rprog/data/food_coded.csv food_coded.csv]. | * Файлы для работы: [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 конспект] | + | * Работа с данными с tidyverse: регулярные выражения ([https://allatambov.github.io/rprog/pdf/rdata-tidyverse-re.pdf конспект]). |
* Работа с данными с tidyverse: часть 1 ([https://allatambov.github.io/rprog/pdf/rbase-tidyverse-p1.pdf конспект]). | * Работа с данными с tidyverse: часть 1 ([https://allatambov.github.io/rprog/pdf/rbase-tidyverse-p1.pdf конспект]). | ||
− | * Работа с данными с tidyverse: часть 2 ([https://allatambov.github.io/rprog/pdf/rbase-tidyverse-p2.pdf конспект] | + | * Работа с данными с tidyverse: часть 2 ([https://allatambov.github.io/rprog/pdf/rbase-tidyverse-p2.pdf конспект]). |
* Выгрузка описательных статистик с помощью stargazer ([https://allatambov.github.io/rprog/pdf/rdata-stargazer.pdf конспект]). | * Выгрузка описательных статистик с помощью 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]. | * Библиотеки [https://dplyr.tidyverse.org/ dplyr], [https://tidyr.tidyverse.org/ tidyr], [https://stringr.tidyverse.org/ stringr]. | ||
Строка 76: | Строка 76: | ||
* Файлы для работы: [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] | * Файлы для работы: [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 конспект] | + | * Визуализация данными с ggplot2: часть 1 ([https://allatambov.github.io/rprog/pdf/rbase-ggplot-p1.pdf конспект]). |
− | * Визуализация данными с ggplot2: часть 2 ([https://allatambov.github.io/rprog/pdf/rbase-ggplot-p2.pdf конспект] | + | * Визуализация данными с ggplot2: часть 2 ([https://allatambov.github.io/rprog/pdf/rbase-ggplot-p2.pdf конспект]). |
* Принципы визуализации: [https://rpubs.com/AllaT/visuals ссылка]. | * Принципы визуализации: [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. | * [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. | ||
Строка 84: | Строка 84: | ||
'''Тема 9. Парсинг HTML-файлов.''' | '''Тема 9. Парсинг HTML-файлов.''' | ||
− | * Код с занятия (парсинг Nplus1): [https://gist.github.com/allatambov/267fb7a50b039656ba0ab5af7c329318 ссылка | + | * Код с занятия (парсинг Nplus1): [https://gist.github.com/allatambov/267fb7a50b039656ba0ab5af7c329318 ссылка]. |
* [https://www.w3schools.com/xml/xpath_intro.asp Тьюториал] по XPATH | * [https://www.w3schools.com/xml/xpath_intro.asp Тьюториал] по XPATH | ||
Текущая версия на 03:17, 4 мая 2024
Это страница курса по выбору «Основы программирования в R», читаемого на программе «Политология» 3 курса бакалавриата в 2020/2021 учебном году.
Лекции и семинары ведет: Тамбовцева Алла Андреевна
Содержание
Правила игры
- Программа курса.
- Формула оценки: 0.12 × Аудиторная работа + 0.24 × ДЗ + 0.24 × Проект + 0.4 × Экзамен.
- Домашние задания сдаются через Dropbox.
- При сдаче домашнего задания позже указанного срока предусмотрены штрафы: 10% от оценки за опоздание в пределах часа, 20% – в пределах суток, 50% – в пределах недели.
R и RStudio
Для работы на этом курсе необходимо установить (именно в таком порядке): R и RStudio.
Ссылки для скачивания:
- R: для Windows, для Mac OS (файл R-4.0.3.pkg);
- RStudio: для разных систем.
Мы будем использовать новую версию R 4.0.3, но если у вас уже установлена более ранняя версия, специально переустанавливать R необязательно. Мы будем учитывать разницы в версиях на занятиях. Внимание: после установки новой версии R поверх старой, установленные ранее библиотеки слетят, и их придётся ставить заново.
Материалы занятий
Учебник А.Б.Шипунов и др. Наглядная статистика. Используем R!
Тема 1. Введение в R и RMarkdown. Ввод и вывод.
- Инструкция по работе с RStudio (файл). Язык разметки Markdown в RStudio (конспект).
- R как калькулятор, переменные и типы переменных в R (конспект, R, Rmd).
- Ввод и вывод (конспект, R, Rmd).
- Официальный RMarkdown Cheatsheet. Глава 2 из Наглядная статистика. Используем R!
Тема 2. Векторы. Матрицы и списки.
- Векторы: часть 1 (конспект, R Rmd). Векторы: часть 2 (конспект, R Rmd).
- Матрицы (конспект, код Rmd).
- Списки (конспект, R, Rmd).
- Глава 3 из Наглядная статистика. Используем R!. Linear algebra and matrices in R.
Тема 3. Функции. Условные конструкции. Циклы.
- Функции (конспект, Rmd, R).
- Условные конструкции и циклы (конспект, Rmd, R).
- Приложения В3-В8 из Наглядная статистика. Используем R!
Тема 4. Загрузка данных в R и их описание.
- Файлы для работы: firtree.csv, test1.xls, test2.csv.
- Загрузка данных и их описание (конспект, Rmd).
- Основы работы с датафреймами (конспект, Rmd, R).
Тема 5. Введение в веб-приложения Shiny.
- Введение в Shiny (конспект). Файл с гистограммой (app.R).
- Документация Shiny, галерея Shiny.
Тема 6. Визуализация данных. Разведывательный анализ данных.
- Файлы для работы firtree.csv, CPDS.csv.
- Визуализация и разведывательный анализ данных: часть 1 (конспект, Rmd, R).
- Визуализация и разведывательный анализ данных: часть 2 (конспект, Rmd, R).
- Главы 4-6 из Наглядная статистика. Используем R!.
- Диаграммы рассеивания (тьюториал), Exploratory Data Analysis with R (книга).
Тема 7. Обработка данных с tidyverse. Регулярные выражения.
- Файлы для работы: Characters.csv, food_coded.csv.
- Работа с данными с tidyverse: регулярные выражения (конспект).
- Работа с данными с tidyverse: часть 1 (конспект).
- Работа с данными с tidyverse: часть 2 (конспект).
- Выгрузка описательных статистик с помощью stargazer (конспект).
- Библиотеки dplyr, tidyr, stringr.
Тема 8. Визуализация данных c ggplot2.
- Файлы для работы: wgi-new.csv, summer.csv, winter.csv
- Визуализация данными с ggplot2: часть 1 (конспект).
- Визуализация данными с ggplot2: часть 2 (конспект).
- Принципы визуализации: ссылка.
- Выбор типа визуализации и описание графиков от Tableau.
- Тест, какой ты график.
Тема 9. Парсинг HTML-файлов.
Практикумы
- Практикум 1. Ввод и вывод, векторы (задания, Rmd, решения).
- Практикум 2. Матрицы и списки (задания, Rmd, решения).
- Практикум 3. Функции, условные конструкции и цикл for (задания, Rmd, решения).
- Практикум 4. Семинар по теме: датафреймы и виджеты Shiny (задания), файл Chile.csv, template1.R, решения.
- Практикум 5. Семинар по теме: введение в tidyverse и регулярные выражения (задания, решения).
- Практикум 6. Создание дэшборда Shiny с графиками ggplot2 (видеозапись, код, summer.csv, winter.csv.
- Практикум 7. Интерактивные графики с plotly. Видеозапись, код.
Домашние задания
Домашнее задание | Файлы | Дедлайн | Куда сдавать |
---|---|---|---|
Домашнее задание 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 по ссылке.
Данные для проекта
Для проекта можно взять любые данные (кроме тех файлов, с которыми мы работали на занятиях).