Основы программирования в R: различия между версиями
(не показано 50 промежуточных версий этого же участника) | |||
Строка 6: | Строка 6: | ||
* [https://www.hse.ru/edu/courses/339554729 Программа] курса. | * [https://www.hse.ru/edu/courses/339554729 Программа] курса. | ||
− | * Формула оценки: 0.12 × Аудиторная работа + 0.24 × ДЗ + 0.24 × Проект + 0.4 × Экзамен. | + | * Формула оценки: '''0.12 × Аудиторная работа + 0.24 × ДЗ + 0.24 × Проект + 0.4 × Экзамен'''. |
* Домашние задания сдаются через Dropbox. | * Домашние задания сдаются через Dropbox. | ||
* При сдаче домашнего задания позже указанного срока предусмотрены штрафы: 10% от оценки за опоздание в пределах часа, 20% – в пределах суток, 50% – в пределах недели. | * При сдаче домашнего задания позже указанного срока предусмотрены штрафы: 10% от оценки за опоздание в пределах часа, 20% – в пределах суток, 50% – в пределах недели. | ||
Строка 27: | Строка 27: | ||
'''Тема 1. Введение в R и RMarkdown. Ввод и вывод.''' | '''Тема 1. Введение в R и RMarkdown. Ввод и вывод.''' | ||
− | * Инструкция по работе с RStudio ([https://allatambov.github.io/rprog/instruction-rstudio.pdf файл]). Язык разметки Markdown в RStudio (конспект). | + | * Инструкция по работе с 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 (конспект, | + | * Векторы: часть 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]). |
− | * Глава 3 из ''Наглядная статистика. Используем R!'' Linear algebra and matrices [https://cran.r-project.org/doc/contrib/Shipunov-rbook.pdf in R]. | + | * Списки ([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. Функции. Условные конструкции. Циклы.''' | ||
+ | |||
+ | * Функции ([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]). | ||
+ | * Приложения В3-В8 из ''Наглядная статистика. Используем R!'' | ||
+ | |||
+ | '''Тема 4. Загрузка данных в R и их описание. ''' | ||
+ | |||
+ | * Файлы для работы: [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/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. ''' | ||
+ | |||
+ | * Введение в 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). | ||
+ | * Визуализация и разведывательный анализ данных: часть 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!''. | ||
+ | * Диаграммы рассеивания ([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 конспект]). | ||
+ | * Работа с данными с tidyverse: часть 1 ([https://allatambov.github.io/rprog/pdf/rbase-tidyverse-p1.pdf конспект]). | ||
+ | * Работа с данными с tidyverse: часть 2 ([https://allatambov.github.io/rprog/pdf/rbase-tidyverse-p2.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]. | ||
+ | |||
+ | '''Тема 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 конспект]). | ||
+ | * Визуализация данными с ggplot2: часть 2 ([https://allatambov.github.io/rprog/pdf/rbase-ggplot-p2.pdf конспект]). | ||
+ | * Принципы визуализации: [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.w3schools.com/xml/xpath_intro.asp Тьюториал] по XPATH | ||
==Практикумы== | ==Практикумы== | ||
− | * Практикум 1. Ввод и вывод, векторы ([https://allatambov.github.io/rprog21/rprog-sem1.pdf задания], [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/rprog-sem1.Rmd Rmd], решения). | + | * Практикум 1. Ввод и вывод, векторы ([https://allatambov.github.io/rprog21/rprog-sem1.pdf задания], [https://raw.githubusercontent.com/allatambov/allatambov.github.io/master/rprog21/rprog-sem1.Rmd Rmd], [https://allatambov.github.io/rprog21/rprog-sem1-sol.pdf решения]). |
− | * Практикум 2. Матрицы и списки ([https://allatambov.github.io/rprog21/rprog-sem2.pdf задания], [https://allatambov.github.io/rprog21/rprog-sem2.Rmd Rmd], решения). | + | * Практикум 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 решения]). | ||
+ | * Практикум 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 код]. | ||
+ | |||
+ | ==Домашние задания== | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Домашнее задание !! Файлы !! Дедлайн !! Куда сдавать | ||
+ | |- | ||
+ | | Домашнее задание 1 || [https://allatambov.github.io/rprog/hw/hw1.pdf задание] || 01.02 23:59 || [https://www.dropbox.com/request/jFals18mCAx9mXl5A6Ac 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 || [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 ссылке]. | ||
+ | |||
+ | '''Данные для проекта''' | ||
+ | |||
+ | Для проекта можно взять любые данные (кроме тех файлов, с которыми мы работали на занятиях). |
Текущая версия на 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 по ссылке.
Данные для проекта
Для проекта можно взять любые данные (кроме тех файлов, с которыми мы работали на занятиях).