Учебная страница курса биоинформатики,
год поступления 2014
Файлы для занятия
Факторы
Создать
f <- factor(c("yes", "yes", "no", "yes", "no"))
Возможные значения
levels(f)
Количество каждого из значений
table(f)
Добавим новое значение
levels(f) <- c(levels(f), "maybe") table(f)
Порядок уровней при создании фактора
f <- factor(c("yes", "yes", "no", "yes", "no"), levels = c("yes", "no"))
Разбиение вектора по фактору
boxplot(mtcars$mpg ~ mtcars$cyl)
Работа с файлами
Узнать рабочую директорию
getwd()
Установить рабочую директорию (путь относительно текущей директории)
setwd("Week3")
Список файлов директории
dir()
Прочитать файл
students <- read.table("FBBRStudents.tab",sep="\t", header=T)
Узнать, какой тип имеют столбцы dataframe
str(students)
Задать тип столбцов при чтении
students<-read.table("FBBRStudents.tab",sep="\t",header=T, colClasses=c("character","factor","factor","integer")) str(students)
Записать в файл в формате csv
write.csv(students, "FBBRStudents.csv")
Прочитать файл построчно в вектор (можно указать необходимое количество строк)
lines<-readLines("FBBRStudents.tab",3)
Сохраняем R объект в файл .RData
save(students, lines, file="Students.RData")
Удаляем все объекты из рабочего пространства
rm(list=ls()) ls()
Читаем объект из файла
load("Students.RData") ls()
Элементарная статистика
Задача о зависимости веса цыплят от рациона питания
chick.w <- read.table("ChickWeight.tab", header=T)
Графический анализ выборок
par(mar=c(4,4,2,1),mfrow=c(1,2)) w.diet.2 <- chick.w[chick.w$Diet==2,"weight"] w.diet.3 <- chick.w[chick.w$Diet==3,"weight"] qqnorm(w.diet.3, ylab="Diet 3 sample quantiles") qqline(w.diet.3,col="red",lwd=2) qqplot(w.diet.2,w.diet.3,xlab="Diet 2 sample quantiles", ylab="Diet 3 sample quantiles", main="Samples QQ Plot") abline(0,1,col="blue",lwd=2)
Сравнение эмпирического распределения с теоретическим:
- тест на нормальность
ks.test(w.diet.3,"pnorm",mean(w.diet.3),sd(w.diet.3))
Сравнение распределений двух выборок:
ks.test(w.diet.2,w.diet.3)
Работа с объектом htest
diet3.ks <- ks.test(w.diet.2,w.diet.3) class(diet3.ks) names(diet3.ks) diet3.ks$p.value
Тест Shapiro-Wilk (на нормальность):
shapiro.test(w.diet.3)
t-test для независимых выборок
chick.test <- t.test(w.diet.2, w.diet.3, alternative="less")
Альтернативный синтаксис
chick.test<-t.test(chick.w$weight~chick.w$Diet, alternative="less")
Задача про длительность с на в зависимости от препарата.
sleep.paired<-read.table("sleep.paired.tab",header=T)
Парный t-test:
sleep.test <- t.test(sleep.paired$Drug1, + sleep.paired$Drug2, paired=T, alternative="less")
Задача про влияние анестетика на время реакции пациентов на световой раздражитель
rt<-read.table("anaesthetic.reaction.time.tab",sep="\t", header=T)
U-критерий Манна-Уитни
wilcox.test(rt$Mean.RT~rt$Group, alternative="greater")
Задача про ответы студентов на вопросы теста. !!!!
test <- read.csv("StudentTest.csv")
Парный тест
wilcox.test(test$Q1, test$Q2, paired=T, alternative="greater", exact=F)