Общая информация

Преподаватели

  • Жарикова Анастасия Александровна

    azharikova89@gmail.com

  • Валяева Анна Александровна

    valyaeva.ann@gmail.com

  • Никольская Арина Игоревна

    arnikol31@gmail.com

  • Коновалова Евгения Владимировна

    konzhenya@mail.ru

Где нас найти

  • Ходите на занятия

  • Общий чат ТГ

  • Комната 633, корпус Б

Зачем нас искать

  • Задавать вопросы(!!!!)

    на занятиях (наиболее приемлемый вариант)

    лично очно

    общий чат ТГ

    личные сообщения (если ситуация критическая и больше ничего не помогает)

  • После 19:00 и по выходным (суббота и воскресенье) мы не работаем совсем!

  • За сутки до любого дедлайна - день тишины!

Если вы не задаете вопросы, значит вы все поняли, и мы можем спрашивать материал в полном объеме и усложнять проверочные работы

Что будет

Расписание

16 недель

14 декабря резерв (не стоит возлагать на этот день больших надежд)

21 декабря получаем зачет и сдаем ведомость!

Активности

  • 16 очных занятий

  • Материалы лекций

  • Материалы для самостоятельного изучения

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

  • Очные проверочные работы на занятии

  • Задания для очной сдачи

  • Защита проекта

Все материалы будут выложены на странице курса

Расписание

Занятия очные по понедельникам

Аудитория 221 (с октября), 15:35-18:55

  • Самостоятельные работы ~ через занятие

  • Защита проектов ~ 21 декабря

  • Пропускать занятия без потери баллов можно по уважительным причинам (медицинская справка, поездка на конференцию)

  • Не ходите на занятия, если болеете!!!

Набираем баллы

Баллы

  • За очные проверочные работы начисляют первичные баллы (ПБ)

  • За очную защиту заданий для сдачи начислают ПБ

  • Первичные баллы пересчитывают во вторичные быллы (ВБ) с учетом веса активности

  • За проект сразу начисляют ВБ

  • Максимум за курс можно получить 100 ВБ

  • Преподаватели могут начислять (и отнимать!) дополнительные баллы за особые достижения

Ценность активностей

  • Очные проверочные работы - 35 ВБ

  • Защита задач - 35 ВБ

  • Защита проектов - 30 ВБ

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

  • Домашние задания вы делаете для тренировки, в рамках подготовки к самостоятельным работам

  • Проверять домашние задания конечно же никто не будет

  • Если вы столкнетесь с трудностями при выполнении домашних заданий - спрашивайте!

  • Задание №0 любого домашнего задания - проработать материал занятия

  • Перед занятием обязательно проработайте материал для самостоятельного изучения

Очные проверочные работы

  • Задания на 15-45 минут во время некоторых занятий

  • По материалам, разобранным на занятии или выданным для домашнего изучения

  • Будет ~7

  • Могут быть внезапными

  • Можно писать только очно в классе

  • Сдавать работы необходимо строго в оговоренное время, иначе работа не будет проверена

  • Не переписываются совсем никак

  • В случае пропуска по уважительной причине в конце семестра пересчитываем баллы

  • За списывание и коммуникацию не с преподавателем зануляются баллы всем причастным

  • За списывание с любых внешних источников работа обнуляется полностью без права переписывания

  • Очные проверочные работы будут полностью проверены к 18 декабря

Защита задач

  • На 5ой паре необходимо сдать задачи из специальных задач на дом:

    • показать код любых (всех) задач на выбор преподавателя

    • ответить на вопросы по коду

    • поменять что-то в коде по запросу преподавателя

    • ответить на дополнительные вопросы при необходимости

  • Вас много, нас мало - сдаем весело, быстро, четко и сразу правильно

  • При решении следует использовать именно те способы, функции и подходы, которые были предложены в материалах, иначе решение может быть расценено как неоптимальное и придется его переделать

Запись на защиту задач

  • Сделаем документ для записи на сдачу

  • До конца октября каждому необходимо сдать хотя бы что-то

  • Используйте это время по-максимуму, в том числе, чтобы задать какие-то вопросы

Использование ИИ

  • Разрешено в качестве консультативного источника при домашней работе с материалами занятия

  • Запрещено на контрольных работах

  • Запрещено использовать в качестве ответа прямое копирование из любых LLM, агентов и пр.

  • Любое, даже правильно решенное задание, может быть обнулено при невозможности устно пояснить ответ и логику решения

Проект

  • нужно поделиться на группы по 4 человека, в крайнем случае - по 3 человека, 5 человек в группе - плохо

  • каждой группе будет выдан набор данных

  • начнем распределять проекты с ноября

  • необходимо проанализировать данные и представить в виде презентации

  • защита проекта проходит в виде доклада на последнем занятии в семестре

Зачет

Зачета не будет

Как же его получить?..

  • Максимально участвовать в активностях

  • Выполнить 60% всех очных самостоятельных работ

  • Защитить все необходимые домашние задачи на проходной балл

  • Поучаствовать в защите группового проекта

  • Набрать в итоге более 60 ВБ

Переписывания

  • Проверочные работы не переписываются

  • В случае уважительной причины пересчитываем пропущенную проверочную работу по среднему

  • Медицинские справки приносите в учебную часть в течение 3 дней после получения

  • Необходимо посетить половину очных проверочных работ

  • Все возникающие нештатные ситуации решайте/обсуждайте с преподавателями сразу, а не в конце семестра

Когда можно получить зачет

  • Зачет выставляется по результатам работы в семестре

  • Окончательное количество проходных для зачета ВБ будет установлено ПОСЛЕ защиты проектов

  • Допускаем недобор 1 балла, не больше (1.1 - это уже больше, чем 1)

  • Грубые ошибки при защите проекта могут обнулить все ваши старания…

  • Слезы, истерики, стенания вызывают аналогичные ответные мероприятия

Важно!

  • В курсе будут задачи и вопросы, касающиеся других предметов

  • Считается, что все предметы из прошлых семестров (и из школы) вы усвоили

  • Мы не повторяем, но спрашиваем!

  • Непонимание материала прошлых семестров считается грубыми ошибками при защите проекта

  • Например, если вы набрали 150 баллов из 100 в течение семестра, но на защите проекта упорно путаете РНК с ДНК или не можете назвать тип графика, который вы же и нарисовали - пересдача

Еще важно

В середине семестра мы сдаем промежуточную успеваемость в учебную часть

Еще более важно

Мы первый раз в таком формате

Все что угодно может пойти не так и измениться по ходу курса

Необычная просьба

Уважаемые старосты, напишите, пожалуйста, Анастасии Александровне

Соберите документ, где будут собраны ФИО и фото всех студентов вашего курса

Пересдача

Пересдачи будут

Пересдачи

  • Нужно набрать недостающее количество баллов

  • Подготовить к пересдаче необходимое количество индивидуальных проектов

  • Ответить на теоретические вопросы:

    по R

    по материалу проекта

Допускаем недобор 1 балла, не больше (1.1 - это уже больше, чем 1)

Материалы для самостоятельного изучения

  • Слайды с 🏠

  • Список функций для изучения

  • Отдельная презентация, лонгрид или методичка

  • Список внешних источников

Зачем это все

Инструментарий

Набор разных инструментов и навыков делает специалиста по анализу данных более разносторонним и гибким

Интеграция в существующие проекты

Немного про анализ данных

Аннотация вариантов

Варианты с 19 хромосомы генома человека

           Variant Existing_variation VARIANT_CLASS
1  chr19:60930_C/T       rs1364854583           SNV
2 chr19:68258_TA/T       rs1309009942      deletion
3  chr19:71052_T/C       rs1217555770           SNV
4  chr19:71178_G/C          rs2548912           SNV
5  chr19:71303_A/G          rs3971601           SNV
6  chr19:71332_G/T       rs1233587539           SNV
                         Consequence   IMPACT SYMBOL         BIOTYPE
1            downstream_gene_variant MODIFIER WASH5P retained_intron
2            downstream_gene_variant MODIFIER WASH5P retained_intron
3 non_coding_transcript_exon_variant MODIFIER WASH5P retained_intron
4 non_coding_transcript_exon_variant MODIFIER WASH5P retained_intron
5 non_coding_transcript_exon_variant MODIFIER WASH5P retained_intron
6 non_coding_transcript_exon_variant MODIFIER WASH5P retained_intron
       g2g.AF
1 3.33628e-02
2 4.44444e-02
3 3.17822e-03
4 4.85759e-01
5 3.92578e-02
6 3.44736e-02

Нам даны данные

Что значит “проанализировать данные”?

Какие вопросы можно задать к таблице?

           Variant Existing_variation VARIANT_CLASS
1  chr19:60930_C/T       rs1364854583           SNV
2 chr19:68258_TA/T       rs1309009942      deletion
3  chr19:71052_T/C       rs1217555770           SNV
4  chr19:71178_G/C          rs2548912           SNV
5  chr19:71303_A/G          rs3971601           SNV
6  chr19:71332_G/T       rs1233587539           SNV
                         Consequence   IMPACT SYMBOL         BIOTYPE
1            downstream_gene_variant MODIFIER WASH5P retained_intron
2            downstream_gene_variant MODIFIER WASH5P retained_intron
3 non_coding_transcript_exon_variant MODIFIER WASH5P retained_intron
4 non_coding_transcript_exon_variant MODIFIER WASH5P retained_intron
5 non_coding_transcript_exon_variant MODIFIER WASH5P retained_intron
6 non_coding_transcript_exon_variant MODIFIER WASH5P retained_intron
       g2g.AF
1 3.33628e-02
2 4.44444e-02
3 3.17822e-03
4 4.85759e-01
5 3.92578e-02
6 3.44736e-02

Какие вопросы можно задать к таблице?

  • Сколько всего вариантов?

  • Сколько разных генов попало в таблицу?

  • Сколько вариантов попало в белок-кодирующие гены, а сколько в гены длинных некодирующих РНК?

  • В какие классы генов попали варианты и в каком количестве?

  • Сколько вариантов каждого класса детектировано?

  • Какие частоты у найденных вариантов?

  • Сколько редких вариантов?

Что нужно подсчитать?

Сколько всего вариантов?

Сколько разных генов?

           Variant Existing_variation VARIANT_CLASS
1  chr19:60930_C/T       rs1364854583           SNV
2 chr19:68258_TA/T       rs1309009942      deletion
3  chr19:71052_T/C       rs1217555770           SNV
4  chr19:71178_G/C          rs2548912           SNV
5  chr19:71303_A/G          rs3971601           SNV
6  chr19:71332_G/T       rs1233587539           SNV
                         Consequence   IMPACT SYMBOL         BIOTYPE
1            downstream_gene_variant MODIFIER WASH5P retained_intron
2            downstream_gene_variant MODIFIER WASH5P retained_intron
3 non_coding_transcript_exon_variant MODIFIER WASH5P retained_intron
4 non_coding_transcript_exon_variant MODIFIER WASH5P retained_intron
5 non_coding_transcript_exon_variant MODIFIER WASH5P retained_intron
6 non_coding_transcript_exon_variant MODIFIER WASH5P retained_intron
       g2g.AF
1 3.33628e-02
2 4.44444e-02
3 3.17822e-03
4 4.85759e-01
5 3.92578e-02
6 3.44736e-02

Сколько всего вариантов?

nrow(a)
[1] 124979

Сколько разных генов?

nrow(distinct(a, SYMBOL))
[1] 1624

Сколько вариантов попало в белок-кодирующие гены, а сколько в гены длинных некодирующих РНК?

           Variant Existing_variation VARIANT_CLASS
1  chr19:60930_C/T       rs1364854583           SNV
2 chr19:68258_TA/T       rs1309009942      deletion
3  chr19:71052_T/C       rs1217555770           SNV
4  chr19:71178_G/C          rs2548912           SNV
5  chr19:71303_A/G          rs3971601           SNV
6  chr19:71332_G/T       rs1233587539           SNV
                         Consequence   IMPACT SYMBOL         BIOTYPE
1            downstream_gene_variant MODIFIER WASH5P retained_intron
2            downstream_gene_variant MODIFIER WASH5P retained_intron
3 non_coding_transcript_exon_variant MODIFIER WASH5P retained_intron
4 non_coding_transcript_exon_variant MODIFIER WASH5P retained_intron
5 non_coding_transcript_exon_variant MODIFIER WASH5P retained_intron
6 non_coding_transcript_exon_variant MODIFIER WASH5P retained_intron
       g2g.AF
1 3.33628e-02
2 4.44444e-02
3 3.17822e-03
4 4.85759e-01
5 3.92578e-02
6 3.44736e-02

Сколько вариантов попало в белок-кодирующие гены, а сколько в гены длинных некодирующих РНК?

table(a$Consequence)

                                                                                   3_prime_UTR_variant 
                                                                                                  2688 
                                                            3_prime_UTR_variant,NMD_transcript_variant 
                                                                                                    10 
                                                                                   5_prime_UTR_variant 
                                                                                                   527 
                                                                               downstream_gene_variant 
                                                                                                 15693 
                                                                                    frameshift_variant 
                                                                                                    49 
                                                              frameshift_variant,splice_region_variant 
                                                                                                     1 
                                                                                      inframe_deletion 
                                                                                                    22 
                                                                                     inframe_insertion 
                                                                                                    16 
                                                                                    intergenic_variant 
                                                                                                 21294 
                                                                                        intron_variant 
                                                                                                 53916 
                                                                 intron_variant,NMD_transcript_variant 
                                                                                                   160 
                                                          intron_variant,non_coding_transcript_variant 
                                                                                                 10558 
                                                                                      missense_variant 
                                                                                                  1236 
                                                                missense_variant,splice_region_variant 
                                                                                                    21 
                                                                    non_coding_transcript_exon_variant 
                                                                                                   670 
                                                                              protein_altering_variant 
                                                                                                     1 
                                                                               splice_acceptor_variant 
                                                                                                     5 
                                                 splice_acceptor_variant,non_coding_transcript_variant 
                                                                                                     2 
                                                          splice_donor_5th_base_variant,intron_variant 
                                                                                                     8 
                            splice_donor_5th_base_variant,intron_variant,non_coding_transcript_variant 
                                                                                                     1 
                                                            splice_donor_region_variant,intron_variant 
                                                                                                    33 
                              splice_donor_region_variant,intron_variant,non_coding_transcript_variant 
                                                                                                     3 
                                                                                  splice_donor_variant 
                                                                                                     9 
                                                    splice_donor_variant,non_coding_transcript_variant 
                                                                                                     1 
         splice_donor_variant,splice_donor_region_variant,intron_variant,non_coding_transcript_variant 
                                                                                                     1 
                                                    splice_polypyrimidine_tract_variant,intron_variant 
                                                                                                   170 
                             splice_polypyrimidine_tract_variant,intron_variant,NMD_transcript_variant 
                                                                                                     1 
                      splice_polypyrimidine_tract_variant,intron_variant,non_coding_transcript_variant 
                                                                                                    20 
                                                             splice_region_variant,5_prime_UTR_variant 
                                                                                                    10 
                                                                  splice_region_variant,intron_variant 
                                                                                                    31 
                                    splice_region_variant,intron_variant,non_coding_transcript_variant 
                                                                                                     4 
                                              splice_region_variant,non_coding_transcript_exon_variant 
                                                                                                     2 
                              splice_region_variant,splice_polypyrimidine_tract_variant,intron_variant 
                                                                                                    75 
splice_region_variant,splice_polypyrimidine_tract_variant,intron_variant,non_coding_transcript_variant 
                                                                                                     4 
                                                              splice_region_variant,synonymous_variant 
                                                                                                    16 
                                                                                            start_lost 
                                                                                                     2 
                                                                        start_lost,5_prime_UTR_variant 
                                                                                                     2 
                                                                                           stop_gained 
                                                                                                    10 
                                                                        stop_gained,frameshift_variant 
                                                                                                     1 
                                                                                             stop_lost 
                                                                                                     3 
                                                                                 stop_retained_variant 
                                                                                                     1 
                                                                                    synonymous_variant 
                                                                                                  1081 
                                                                                 upstream_gene_variant 
                                                                                                 16621 

Подходит?

Сколько вариантов попало в белок-кодирующие гены, а сколько в гены длинных некодирующих РНК?

table(a$BIOTYPE)

                                 -                             lncRNA 
                             21294                              12940 
                             miRNA                           misc_RNA 
                                12                                331 
           nonsense_mediated_decay               processed_pseudogene 
                               260                               1676 
              processed_transcript                     protein_coding 
                                24                              84208 
    protein_coding_CDS_not_defined                 protein_coding_LoF 
                               322                                 33 
                   retained_intron                    rRNA_pseudogene 
                              1010                                 24 
                            snoRNA                              snRNA 
                                 9                                 82 
                               TEC   transcribed_processed_pseudogene 
                                35                                  1 
transcribed_unprocessed_pseudogene                 unitary_pseudogene 
                               153                                 38 
            unprocessed_pseudogene 
                              2527 

Сколько вариантов попало в белок-кодирующие гены, а сколько в гены длинных некодирующих РНК?

a %>%
  filter(BIOTYPE %in% c('protein_coding', 'lncRNA')) %>%
  count(BIOTYPE)
         BIOTYPE     n
1         lncRNA 12940
2 protein_coding 84208

В какие классы генов попали варианты и в каком количестве?

head(a)
           Variant Existing_variation VARIANT_CLASS
1  chr19:60930_C/T       rs1364854583           SNV
2 chr19:68258_TA/T       rs1309009942      deletion
3  chr19:71052_T/C       rs1217555770           SNV
4  chr19:71178_G/C          rs2548912           SNV
5  chr19:71303_A/G          rs3971601           SNV
6  chr19:71332_G/T       rs1233587539           SNV
                         Consequence   IMPACT SYMBOL         BIOTYPE
1            downstream_gene_variant MODIFIER WASH5P retained_intron
2            downstream_gene_variant MODIFIER WASH5P retained_intron
3 non_coding_transcript_exon_variant MODIFIER WASH5P retained_intron
4 non_coding_transcript_exon_variant MODIFIER WASH5P retained_intron
5 non_coding_transcript_exon_variant MODIFIER WASH5P retained_intron
6 non_coding_transcript_exon_variant MODIFIER WASH5P retained_intron
       g2g.AF
1 3.33628e-02
2 4.44444e-02
3 3.17822e-03
4 4.85759e-01
5 3.92578e-02
6 3.44736e-02

В какие классы генов попали варианты и в каком количестве?

count(a, BIOTYPE)
                              BIOTYPE     n
1                                   - 21294
2                                 TEC    35
3                              lncRNA 12940
4                               miRNA    12
5                            misc_RNA   331
6             nonsense_mediated_decay   260
7                processed_pseudogene  1676
8                processed_transcript    24
9                      protein_coding 84208
10     protein_coding_CDS_not_defined   322
11                 protein_coding_LoF    33
12                    rRNA_pseudogene    24
13                    retained_intron  1010
14                              snRNA    82
15                             snoRNA     9
16   transcribed_processed_pseudogene     1
17 transcribed_unprocessed_pseudogene   153
18                 unitary_pseudogene    38
19             unprocessed_pseudogene  2527

Как это нарисовать?

В какие классы генов попали варианты и в каком количестве?

a %>%
  ggplot(aes(x = BIOTYPE)) + geom_bar(fill = 'lightblue', color = 'black') +
  geom_text(aes(label = ..count..), stat = "count", vjust = -1, colour = "black") +
  theme_bw() + ylim(0, 90000) +
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) 

В какие классы генов попали варианты и в каком количестве?

a %>%
  count(BIOTYPE) %>% 
  mutate(BIOTYPE = fct_reorder(BIOTYPE, desc(n))) %>%
  ggplot(aes(x = BIOTYPE, y = n)) + geom_col(fill = 'lightblue', color = 'black') +
  geom_text(aes(label = n), vjust = -1, colour = "black") +
  theme_bw() + ylim(0, 90000) +
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) 

Возможности языка R

R

  • Язык R распространяется бесплатно с открытым исходным кодом

  • Доступно для Linux, macOS, Windows

  • Интерпретируемый язык программирования

  • Обширное сообщество разработчиков и пользователей

RStudio

Интегрированная среда разработки (одна из)

Установка и знакомство

Установка

На свой ноутбук необходимо установить:

  • сначала язык R

  • затем RStudio

Это вы уже сделали

R и RStudio позволяют

  • оптимально организовать пространство для работы

  • создавать и отлаживать программные сценарии

  • удобно просматривать результаты работы

  • получать справочную информацию

  • работа с данными практически в любых форматах (импорт/экспорт)

Демонстрация

  • Устройство RStudio

  • Организация проектов

  • Создание файлов (.R)

  • Получение справочной информации

Открываем ноутбуки и RStudio

RStudio - общий вид 🏠

Программные сценарии

  • Первый шаг к воспроизводимости

  • Можно вводить команды по одной в консоль и выполнять их

  • Все действия будут отражены в вкладке History

  • Как понять, какие команды нам подошли, а какие выдали ошибку или неудовлетворительный результат?

Программные сценарии

  • Лучше сохранять только корректно работающие строки кода в нужной последовательности в файл

  • Нужно добавлять комментарии

  • Вы никогда не забудете, что и как вы делали

  • Получившийся файл всегда можно просмотреть и перезапустить, в том числе с другими параметрами и входными данными

  • Сохраняйте коды домашних заданий, задач для сдачи, работы на семинаре, проекта до получения зачета

Давайте уже R!

С чем мы работаем и где находимся?

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

Знать версии программ и пакетов необходимо для возможности воспроизведения результатов

sessionInfo()
R version 4.5.1 (2025-06-13 ucrt)
Platform: x86_64-w64-mingw32/x64
Running under: Windows 11 x64 (build 26200)

Matrix products: default
  LAPACK version 3.12.1

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] lubridate_1.9.4 forcats_1.0.1   stringr_1.6.0   dplyr_1.1.4    
 [5] purrr_1.2.0     readr_2.1.6     tidyr_1.3.1     tibble_3.3.0   
 [9] ggplot2_4.0.1   tidyverse_2.0.0 calendR_1.2    

loaded via a namespace (and not attached):
 [1] yulab.utils_0.2.3       rappdirs_0.3.3          generics_0.1.4         
 [4] fontLiberation_0.1.0    ggplotify_0.1.3         stringi_1.8.7          
 [7] hms_1.1.4               digest_0.6.38           magrittr_2.0.4         
[10] timechange_0.3.0        evaluate_1.0.5          grid_4.5.1             
[13] RColorBrewer_1.1-3      fastmap_1.2.0           jsonlite_2.0.0         
[16] scales_1.4.0            fontBitstreamVera_0.1.1 cli_3.6.5              
[19] rlang_1.1.6             fontquiver_0.2.1        gggibbous_0.1.1        
[22] ggimage_0.3.4           withr_3.0.2             yaml_2.3.10            
[25] gdtools_0.4.4           tools_4.5.1             tzdb_0.5.0             
[28] vctrs_0.6.5             R6_2.6.1                gridGraphics_0.5-1     
[31] lifecycle_1.0.4         magick_2.9.0            fs_1.6.6               
[34] htmlwidgets_1.6.4       ggfun_0.2.0             pkgconfig_2.0.3        
[37] pillar_1.11.1           gtable_0.3.6            glue_1.8.0             
[40] data.table_1.17.8       Rcpp_1.1.0              systemfonts_1.3.1      
[43] xfun_0.54               tidyselect_1.2.1        rstudioapi_0.17.1      
[46] ggiraph_0.9.2           knitr_1.50              dichromat_2.0-0.1      
[49] farver_2.1.2            htmltools_0.5.8.1       labeling_0.4.3         
[52] rmarkdown_2.30          suncalc_0.5.1           compiler_4.5.1         
[55] S7_0.2.1               

Справки и помощь 🏠

  • ?seq
  • help(seq) # попробуйте!!
  • example(seq) # попробуйте!!

Cheat Sheets

Таблицы и вектора

Чтение данных

immunR <- read.table('https://kodomo.fbb.msu.ru/FBB/year_23/R/immuno_response_2025.tsv', header = T)
head(immunR)
  DatasetID PatientID   Cancer Antibody     Treatment Response PFS PreTreatment
1       DS1         1 Melanoma anti-PD1 pembrolizumab       SD 120        56.43
2       DS1         2 Melanoma anti-PD1 pembrolizumab       PD 466        24.70
3       DS1         3 Melanoma anti-PD1 pembrolizumab       PD 236        52.43
4       DS1         4 Melanoma anti-PD1 pembrolizumab       PD  99        34.04
5       DS1         5 Melanoma anti-PD1 pembrolizumab       PR 305        50.76
6       DS1         6 Melanoma anti-PD1 pembrolizumab       PR  NA           NA
  PostTreatment
1         74.70
2         48.49
3         45.60
4         56.82
5         57.30
6            NA

Описание столбцов

  • DatasetID - идентификатор исследования

  • PatientID - номер пациента внутри каждого исследования

  • Cancer - онкологическое заболевание

  • Antibody - тип иммунотерапии (таргет)

  • Treatment - название препарата иммунотерапии

  • Response - ответ на иммунотерапию (CR - complete response, PR - partial response, SD - stable disease, PD - progressive disease; перечислены по степени ухудшения ответа)

  • PFS - выживаемость без прогрессирования заболевания (сколько дней прошло с начала терапии до ухудшения состояния пациента или до последнего чекапа)

  • PreTreatment - значение некоторого показателя до начала терапии

  • PostTreatment - значение некоторого показателя после нескольких циклов терапии

Таблица

Из чего состоит таблица?

Таблица

Как устроены строки и как столбцы?

Чем они отличаются?

Вектор

Основной тип данных

Индексация начинается с 1!!!

Таблица

Где тут вектора?

Таблица

Где тут вектора?

Что такое строка?

Таблица

Вектор - данные одного типа 🏠

x <- c(0.5, 1.2, 3.6) # точка - разделитель разрядов
typeof(x) # double or numeric
[1] "double"
x <- c(5, 2, 3)
typeof(x) # double
[1] "double"
x <- 1:5
typeof(x) # integer  
[1] "integer"

Вектор - данные одного типа 🏠

x <- c(T,F,F,T) 
typeof(x) # logical  
[1] "logical"
x <- c('a','b','c')
typeof(x) # character 
[1] "character"

Вектор - данные одного типа

Зачем нужно знать тип данных столбца?

Вектора 🏠

У каждого элемента вектора есть:

  • значение

  • индекс или порядковый номер

  • имя (может быть пустым)

Конец!