Учебная страница курса биоинформатики,
год поступления 2014
Введение и базовые принципы работы
Установка R и R studio
Мы просили вас заранее установить себе на ноутбук R и R studio. Если у вас уже есть они, проверьте, что R не ниже версии 3.2.1, а R studio не ниже версии 0.99.467.
R устанавливаем отсюда: https://cran.gis-lab.info/ R studio устанавливаем отсюда: https://www.rstudio.com/products/rstudio/download/
Простейший тип данных - вектор
Потренируемся создавать вектор и посмотрим, что можно с ним сделать:
x <- 1:5 x x*2 x>4 x==7 x*x
Как еще можно создать вектор?
c(1, 2, 3) seq(from=1, to=8, by=2) rep(0.5, 6)
Также можно генерить вектор как выборку из распределения:
set.seed(100) rnorm(5) rbinom(10, 100, 0.5) rpois(10, 4)
Посмотрим, что такое срезы. Сначала создадим вектор:
x<-c(1, 5, 7, 9, 15, 3)
а потом будет выбирать только те элементы вектора, которые отвечают определенным условиям:
x[1] x[2:4] x[c(2, 5)] x[-1] x[-(1:3)] x[x>5] x[x>5 & x<10]
Теперь мы уже можем делать самый простой статистический анализ:
x <- rnorm(100) mean(x) sd(x) min(x) max(x) quantile(x)
Простые графики
Самый простой график:
x_data <- c(0:10) y_data <- x_data +5 plot(x_data, y_data, main = "My Chart Title", xlab ="X", ylab = "Y", pch=16, col = "red")
Можем добавить ограничения по осям:
plot(x_data, y_data, main = "My Chart Title", xlab ="X", ylab = "Y", pch=16, col = "red", xlim=c(1,7), ylim=c(0, 20)
Задние1
1.Сгенерировать выборку из чисел от 1 до 100
2.Нарисовать график y=x^2
Data frames
А теперь создадим свой первый data frame:
n <- c(2, 3, 5) s <- c("aa", "bb", "cc") b <- c(TRUE, FALSE, TRUE) df <- data.frame(n, s, b)
Обращение к столбцу по имени:
df$n
Размерность data frame
dim(df)
Использование предустановленных наборов данных
data() ?mtcars
Выбор строк, столбцов, ячеек
mtcars[12,2] mtcars[8,] mtcars[1:3,] mtcars[c(1,13),] mtcars[c(1,3,7,13),1]
Хотим добавить столбец:
dim(mtnew) num<-1:33 mtnew<-cbind(mtnew, num) mtnew[30:33,]
Логические условия и order
mtcars1 <- mtcars[mtcars$cyl>4 & mtcars$cyl<8,] mtcars1 mtcars1[order(mtcars1$drat),]
Задание 2
1. Выбрать из таблицы mtcars только те машины, у которых вес больше 3 тысяч фунтов
2. Добавить столбец - расход топлива (1/mpg)
3. Отсортировать таблицу по расходу топлива
Простые графики (продолжение)
Иногда нужно добавить в уже готовый график дополнительные линии:
x <- 1:10 y <- x*x z <- x-5 plot(y ~ x, type='l', col = 'red') lines(y ~ z, col = 'blue')
Построим точечный график и добавим к нему линии:
x <- rnorm(1000) y <- x*x + rnorm(1000, sd=2) plot(x, y, pch=19, cex=0.3) abline(lm(y~x), col="red") lines(lowess(y~x), col="blue")
Построим гистограмму:
x <- rnorm(1000) hist(x, col='blue')
И боксплот (ящик с усами по-русски):
boxplot(mpg~cyl,data=mtcars, main="Car Milage Data", xlab="Number of Cylinders", ylab="Miles Per Gallon")
Сохраним график в файл:
png(file="Pictures/boxplot.png", width=400, height=350, res=72) boxplot(x,y) dev.off()
Задание 3
1.Построить scatter plot зависимости мощности от экономичности автомобиля
2.Построить распределение мощностей автомобилей