[1] 1 5 8
[1] 2 6 9
и его применение в биоинформатике
Лекция 1
Анастасия Жарикова
6 сентября 2024
Жарикова Анастасия Александровна
azharikova89@gmail.com
Валяева Анна Александровна
valyaeva.ann@gmail.com
Никольская Арина Игоревна
arnikol31@gmail.com
Ходите на занятия
Общий чат ТГ
Комната 633, корпус Б
Задавать вопросы(!!!!)
на занятиях (наиболее приемлемый вариант)
лично очно
общий чат ТГ
личные сообщения (если ситуация критическая и больше ничего не помогает)
После 21:00 и по выходным (суббота и воскресенье) мы не работаем совсем!
За сутки до любого дедлайна - день тишины!
Если вы не задаете вопросы, значит вы все поняли, и мы можем спрашивать материал в полном объеме и усложнять проверочные работы
17 недель
17 очных занятий
Материалы для самостоятельного изучения
Домашние задания
Очные проверочные работы на занятии
Защита проекта
Все материалы будут выложены на странице курса
Занятия очные по пятницам
Группа 301, 10:55-12:30, аудитория 442
Группа 302, 17:20-18:55, аудитория 207
Защита проектов ~ 27 декабря
Ходить можно только со своей группой (или поменяться)
Пропускать занятия без потери баллов можно по уважительным причинам (справка в учебной части, поездка на конференцию)
Не ходите на занятия, если болеете!!!
За очные проверочные работы начисляют первичные баллы (ПБ)
Первичные баллы пересчитывают во вторичные быллы (ВБ) с учетом веса активности
За проект сразу начисляют ВБ
Максимум за курс можно получить 100 ВБ
Преподаватели могут начислять (и отнимать!) дополнительные баллы за особые достижения
Очные проверочные работы - 60 ВБ
Защита проектов - 40 ВБ
Домашние задания вы делаете для тренировки и в рамках подготовки к самостоятельным работам
Проверять домашние задания конечно же никто не будет
Если вы столкнетесь с трудностями при выполнении домашних заданий - спрашивайте!
Задания на 20-45 минут во время некоторых занятий
По материалам, разобранным на занятии или выданным для домашнего изучения
Могут быть внезапными
Можно писать только очно в классе
Сдавать работы необходимо строго в оговоренное время
Очные проверочные работы нужно прикреплять в форму. Убедитесь, что вам пришло письмо об успешной отправке файла
Не переписываются совсем никак
В случае пропуска по уважительной причине в конце семестра пересчитываем баллы
Очные проверочные работы будут полностью проверены к 20 декабря
Проект:
нужно поделиться на группы по 4 человека, в крайнем случае - по 3 человека, 5 человек в группе - плохо
каждой группе будет выдан набор данных
начнем распределять проекты за 4-5 недель до сдачи
необходимо проанализировать данные и представить в виде презентации
защита проекта проходит в виде доклада на последнем занятии в семестре
Максимально участвовать в активностях
Выполнить 60% всех очных самостоятельных работ
Выполнить = отправить в срок корректно оформленную работу в требуемом формате и убедиться, что работа получена
Набрать в итоге более 60 ВБ
Зачет выставляется по результатам работы в семестре
Окончательное количество проходных для зачета ВБ будет установлено ПОСЛЕ защиты проектов
Допускаем недобор 1 балла, не больше (1.1 - это уже больше, чем 1)
Грубые ошибки при защите проекта могут обнулить все ваши старания…
В курсе будут задачи и вопросы, касающиеся других предметов (например, статистика, молекулярная биология, чтение)
Считается, что все предметы из прошлых семестров (и из школы) вы усвоили
Мы не повторяем статистику, но спрашиваем!
Непонимание материала прошлых семестров считается грубыми ошибками при защите проекта
Например, если вы набрали 150 баллов из 100 в течение семестра, но на защите проекта не смогли дать определение p-value или назвать тип графика, который вы же и нарисовали - пересдача
Нужно набрать недостающее количество баллов
Подготовить к пересдаче необходимое количество индивидуальных проектов
Ответить на теоретические вопросы:
по R
по статистике
по материалу проекта
Допускаем недобор 1 балла, не больше (1.1 - это уже больше, чем 1)
На первом занятии познакомимся с языком R, средой разработки RStudio, основными концепциями
На дом вы получите материалы для самостоятельного изучения и домашнее задание
На следующем занятии пишем самостоятельную работу по материалам, выданным ранее для самостоятельного изучения
На занятии обсуждаем только самые важные и сложные аспекты темы
На занятии разбираем примеры повышенной сложности
На дом вы получаете материалы для самостоятельного изучения и домашнее задание
и т.д. …
Слайды с 🏠
Список функций для изучения
Отдельная презентация
Список внешних источников
Набор разных инструментов и навыков делает специалиста по анализу данных более разносторонним и гибким
Интеграция в существующие проекты
Язык R распространяется бесплатно с открытым исходным кодом
Доступно для Linux, macOS, Windows
Интерпретируемый язык программирования
Обширное сообщество разработчиков и пользователей
Интегрированная среда разработки (одна из)
На свой ноутбук необходимо установить:
сначала язык R
затем RStudio
https://posit.co/download/rstudio-desktop/
В следующий раз будет самостоятельная работа в RStudio!!!
Нужны ноутбуки!
оптимально организовать пространство для работы
создавать и отлаживать программные сценарии
удобно просматривать результаты работы
получать справочную информацию
работа с данными практически в любых форматах (импорт/экспорт)
Устройство RStudio
Организация проектов
Создание файлов (.R, .Rmd)
Получение справочной информации
Первый шаг к воспроизводимости
Можно вводить команды по одной в консоль и выполнять их
Все действия будут отражены в вкладке History
Как понять, какие команды нам подошли, а какие выдали ошибку или неудовлетворительный результат?
Лучше сохранять только корректно работающие строки кода в нужной последовательности в файл
Нужно добавлять комментарии
Вы никогда не забудете, что и как вы делали
Получившийся файл всегда можно просмотреть и перезапустить, в том числе с другими параметрами и входными данными
Сохраняйте коды домашних заданий, самостоятельных работ, проекта до получения зачета
File -> New File -> R Script
Код + комментарии
Можно использовать в RStudio или запускать из коммандной строки
Ctrl + enter - запуск строки кода или выделенного фрагмента кода
“Горячие” клавиши
Создание отчета
Можно добавлять
форматированный текст
формулы
таблицы
код
результат выполнения кода
картинки
ссылки
Создание
File -> New File -> R Markdown -> шаблон файла с “шапкой” -> удалить лишнее и добавить нужное -> сохранить -> Knit -> .html/.pdf/.doc
Текстовый язык разметки
Позволяет объединять в одном отчете:
код
результат анализа данных (таблицы, рисунки, …)
комментарии
Блок кода записывают в чанки (“chunk”):
Запускается целиком или по чанкам, сразу видны ошибки и проблемы
Переменные и функции, инициализированные в одном chunk, будут работать во всей сессии
Устанавливаем TRUE или FALSE
{r echo = T}
echo
- демонстрация кода
eval
- выполнение кода
message
и warnings
- демонстрация предупреждений
В случае ошибки в коде итоговый документ не будет создан, появится сообщение об ошибке
Читаем ошибку - исправляем - перезапускаем
Задание №1
Создайте вектор а из чисел 1, 5 и 8. Добавьте к каждому числу единицу. Положите результат в вектор b.
Хорошо:
Иванов Иван
15 мартобря 2024 - R - ФББ МГУ
Проверочная работа №315
Задание №1
Создайте вектор а из чисел 1, 5 и 8. Добавьте к каждому числу единицу. Положите результат в вектор b.
Плохо:
Задание: прочитайте таблицу, отберите из нее 1000 строк
Как продемонстрировать корректность вашего решения?
неопознанные файлы: фамилия, номер и тип задания должны быть в названии файла И в “шапке” документа
неполное содержание файла:
нет номера задания
нет формулировок и номеров заданий
нет демонстрации решения (!!!)
…
решения, присланные после дедлайнов
за оформление: нет структуры файла (заголовки)
некорректная демонстрация решения
неверное или неполное решение
неоптимальное решение
Проверяйте, что итоговый файл сгенерился правильно и его можно прочитать
При обнаружении списывания задание обнуляется всем участникам, не разбираясь
Начисляются дополнительные штрафы
getwd() # узнать рабочую директорию
setwd("path/to/Newdir") # задать рабочую директорию
dir() # список файлов в рабочей директории
dir.create("New_dir") # создать директорию New_dir
dir.exists("Dir") # проверить, существует ли директория Dir
unlink("Dir", recursive = T) # удалить директорию Dir
file.exists("file.txt") # проверить, существует ли файл file.txt
file.remove("file.txt") # удалить файл file.txt
sessionInfo() # информация о загруженной сессии R
Знать версии программ и пакетов необходимо для возможности воспроизведения результатов
R version 4.3.2 (2023-10-31 ucrt)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 19045)
Matrix products: default
locale:
[1] LC_COLLATE=Russian_Russia.utf8 LC_CTYPE=Russian_Russia.utf8
[3] LC_MONETARY=Russian_Russia.utf8 LC_NUMERIC=C
[5] LC_TIME=Russian_Russia.utf8
time zone: Europe/Moscow
tzcode source: internal
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] calendR_1.2
loaded via a namespace (and not attached):
[1] gtable_0.3.4 jsonlite_1.8.8 dplyr_1.1.4 compiler_4.3.2
[5] Rcpp_1.0.12 tidyselect_1.2.0 magick_2.8.3 gridGraphics_0.5-1
[9] ggimage_0.3.3 ggplotify_0.1.2 ggfun_0.1.4 scales_1.3.0
[13] yaml_2.3.8 fastmap_1.1.1 ggplot2_3.5.0 R6_2.5.1
[17] generics_0.1.3 knitr_1.45 yulab.utils_0.1.4 htmlwidgets_1.6.4
[21] gggibbous_0.1.1 forcats_1.0.0 tibble_3.2.1 munsell_0.5.0
[25] lubridate_1.9.3 pillar_1.9.0 rlang_1.1.2 utf8_1.2.4
[29] cachem_1.0.8 xfun_0.42 fs_1.6.3 timechange_0.2.0
[33] memoise_2.0.1 cli_3.6.1 withr_3.0.0 magrittr_2.0.3
[37] digest_0.6.34 grid_4.3.2 rstudioapi_0.15.0 lifecycle_1.0.4
[41] vctrs_0.6.4 data.table_1.15.0 evaluate_0.23 glue_1.6.2
[45] farver_2.1.1 suncalc_0.5.1 fansi_1.0.5 colorspace_2.1-0
[49] rmarkdown_2.26 tools_4.3.2 pkgconfig_2.0.3 htmltools_0.5.7
Основной тип данных
Индексация начинается с 1!!!
При перезаписывании содержимого переменной никаких предупреждений не будет
Индексация элементов в R начинается с 1 (не с 0)
Где тут вектора?
У каждого элемента вектора есть:
значение
индекс или порядковый номер
имя (может быть пустым)
v1 v2 v3 v4 v5 v6
5 16 8 32 56 2
НЕ должны:
начинаться с цифр
содержать пробелы
содержать специальные символы (+, -, /, , *, ^, …)
состоять из разезервированных слов (if, else, repeat, while, function, for, in, next, break, TRUE, FALSE, NULL, Inf, NaN, NA, …)
Кадры данных или данные табличного вида
data()
?swiss
Fertility Agriculture Examination Education Catholic
Courtelary 80.2 17.0 15 12 9.96
Delemont 83.1 45.1 6 9 84.84
Franches-Mnt 92.5 39.7 5 5 93.40
Moutier 85.8 36.5 12 7 33.77
Infant.Mortality
Courtelary 22.2
Delemont 22.2
Franches-Mnt 20.2
Moutier 20.3
'data.frame': 47 obs. of 6 variables:
$ Fertility : num 80.2 83.1 92.5 85.8 76.9 76.1 83.8 92.4 82.4 82.9 ...
$ Agriculture : num 17 45.1 39.7 36.5 43.5 35.3 70.2 67.8 53.3 45.2 ...
$ Examination : int 15 6 5 12 17 9 16 14 12 16 ...
$ Education : int 12 9 5 7 15 7 7 8 7 13 ...
$ Catholic : num 9.96 84.84 93.4 33.77 5.16 ...
$ Infant.Mortality: num 22.2 22.2 20.2 20.3 20.6 26.6 23.6 24.9 21 24.4 ...
Обращение к столбцу
[1] "Fertility" "Agriculture" "Examination" "Education"
[5] "Catholic" "Infant.Mortality"
Срезы
Выбор данных по условию
Fertility Agriculture Examination Education Catholic
Franches-Mnt 92.5 39.7 5 5 93.40
Moutier 85.8 36.5 12 7 33.77
Porrentruy 76.1 35.3 9 7 90.57
Broye 83.8 70.2 16 7 92.85
Gruyere 82.4 53.3 12 7 97.67
Veveyse 87.1 64.5 14 6 98.61
Aubonne 66.9 67.5 14 7 2.27
Cossonay 61.7 69.3 22 5 2.82
Echallens 68.3 72.6 18 2 24.20
Moudon 65.0 55.1 14 3 4.52
Orbe 57.4 54.1 20 6 4.20
Oron 72.5 71.2 12 1 2.40
Paysd'enhaut 72.0 63.5 6 3 2.56
Conthey 75.5 85.9 3 2 99.71
Entremont 69.3 84.9 7 6 99.68
Herens 77.3 89.7 5 2 100.00
Martigwy 70.5 78.2 12 6 98.96
Monthey 79.4 64.9 7 3 98.22
Sierre 92.2 84.6 3 3 99.46
Val de Ruz 77.6 37.6 15 7 4.97
ValdeTravers 67.6 18.7 25 7 8.65
Infant.Mortality
Franches-Mnt 20.2
Moutier 20.3
Porrentruy 26.6
Broye 23.6
Gruyere 21.0
Veveyse 24.5
Aubonne 19.1
Cossonay 18.7
Echallens 21.2
Moudon 22.4
Orbe 15.3
Oron 21.0
Paysd'enhaut 18.0
Conthey 15.1
Entremont 19.8
Herens 18.3
Martigwy 19.4
Monthey 20.2
Sierre 16.3
Val de Ruz 20.0
ValdeTravers 19.5
Внешне похожи на таблицу
Вектор с атрибутом dim
Все элементы одного типа
Математические операции работают быстрее