Kodomo

Пользователь

Учебная страница курса биоинформатики,
год поступления 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.Построить распределение мощностей автомобилей