$`col name`
df
%>% mutate(`col-name` = `col-name` + 10) df
Зачет
Для выполнения задания создайте R скрипт или Rmd документ. Старайтесь писать решение так, чтобы его было легко читать (писать комментарии, структурировать код с помощью пустых строк и переносов на новые строки).
План работы:
- прочитать данные,
- изучить их, почистить и преобразовать в подходящий для дальнейшей работы формат,
- сформулировать для себя план, как решать поставленную задачу:
- какие тесты использовать,
- выполнение каких предположений проверять,
- как визуализировать результаты.
- реализовать ваш план по анализу данных в R.
Общие рекомендации:
- Проверяйте, что данные были верно прочитаны (числа как числа (dbl), строки как строки (chr)). Функции типа
as.numeric()
иas.character()
помогают конвертировать типы данных. - Не забывайте результаты работы с датафреймом записывать в переменную, если вы планируете использовать этот результат далее.
- Если названия столбцов содержат пробелы или дефисы, то обращаться к ним можно, заключая их в обратные кавычки, например:
- Для логарифмирования осей возможно более удобно будет использовать функцию ggplot2
coord_trans(y = "log10")
, если сочетать ее с функциями для подписи p-values.
Полезные функции:
library(tidyverse)
read_csv()
,read_tsv
,readxl::read_excel()
- прочитать файл csv, tsv, excel.filter()
,select()
- отфильтровать строки, отборать столбцы.mutate()
- создать новый столбец.group_by(..) %>% summarise()
- сгруппировать по категориальным значениям в столбце .., посчитать что-то для групп.pivot_longer()
,pivot_wider()
- трансформация датафрейма из широкого формата в длинный и наоборот.t.test()
,wilcox.test()
- тест Стьюдента, теста Манна-Уитни/Вилкоксона. На вход требуют вектора - выборки.shapiro.test()
- тест Шапиро-Уилка, на вход требует вектор.aov()
,oneway.test()
,kruskal.test()
- ANOVA, тест Краскела-Уоллиса. На вход нужна формула (численный признак ~ категориальный признак) и датафрейм.chisq.test()
,fisher.test()
- тест Хи-квадрат, точный тест Фишера.car::leveneTest()
- тест Левена, нужен пакет car.pairwise.t.test()
,pairwise.wilcox.test()
,TukeyHSD()
- попарные тесты с поправкой на множественное тестирование.stat_compare_means()
- результаты статистических тестов на графике, нужен пакет ggpubr.
Вариант 1
В ходе некоторого исследования был предсказан предиктивный биомаркер для заболевания системная красная волчанка. На нескольких десятков здоровых людей и пациентов с системной красной волчанкой, а также пациентов с системной склеродермией (тоже аутоиммунное заболевание) были собраны данные по экспрессии предсказанного маркера. Подтверждают ли собранные данные то, что экпрессия этого маркера у пациентов с системной красной волчанкой выше, чем у здоровых людей или пациентов с системной склеродермией?
Вариант 2
При длительном хранении или транспортировке клетки могут погибать. В таких ситуациях используются специальные буферы. В данном датасете представлены результаты тестирования одного такого буфера. Будет ли выживаемость клеток в этом буфере выше, чем в контроле?
Вариант 3
Вы изучаете метастазирование определенного типа рака. При этом случаи возникновения этого рака у больных можно поделить на 4 группы - по основным драйверным мутациям. Вам кажется, что некоторые мутации скорее приведут к возникновению более злокачественной опухоли, чем другие. У вас есть информация о наличии или отсутствии метастазов у порядка 200 пациентов с разными подтипами рака, который вы изучаете. Судя по этим данным, есть ли такая взаимосвязь между подтипом рака и его злокачественностью? Попробуйте оценить, какой генотип (т.е. какой подтип рака) обладает более высоким метастатическим потенциалом.
Вариант 4
Белок Tat вируса HIV-1 содержит сигнал ядерной локализации, который позволяет белку накапливаться в ядре. Сигнал расположен где-то в основном домене (basic domain, BD): он либо сконцентрирован в небольшом участке (обычно NLS сигналы имеют длину 4 аминокислоты), либо “размазан” по всему основному домену (его длина 9 аминокислот). По результатам точечного мутагенеза Tat по каждой аминокислоте основного домена определите, какие позиции аминокислот играют роль в накоплении Tat в ядре.