2017-02-09 21 views
2

Я хотел бы сделать некоторые контрасты с помощью линейного регрессионного моделирования в R. У меня есть следующие данные, mat1:model.matrix и makeContrasts в R

Gene1 Gene2 Gene3 
1 5.89  7.45 2.66 
2 8.99  5.39 1.58 
3 3.67  6.88 4.82 
4 8.25  8.76 3.58 

Я использую следующий код для создания дизайна матрицы:

library(limma) 
expression <- factor(mat1) 
design <- model.matrix(~0 + expression) 
colnames(design) <- levels(expression) 

Матрица дизайна выглядит сейчас очень странно. И количество строк и столбцов изменилось. Где ошибка?

Вот следующий кусок кода, который я хотел бы идти с:

fit <- lmFit(mat1, design) 
contrast.matrix <- makeContrasts(Gen1 - Gen2, levels = design) 
fit2 <- contrasts.fit(fit, contrast.matrix) 
fit2 <- eBayes(fit2) 

ли, что правильный путь? Может, кто-нибудь может мне помочь. Благодарю.

+0

Попробуйте привести пример. – SmallChess

+0

Обычно вы делаете контраст условий, а не генов. 'выражение <- factor (mat1)' does does not correct, вероятно, это будет 'factor (rownames (mat1)' или 'factor (colnames (mat1)' в зависимости от того, что вы создаете. – emilliman5

ответ

1

Ваш общий синтаксис анализа экспрессии генов с использованием линейной модели выглядит корректно, включая contrast.matrix. Тем не менее, это касается меня тем, что ваш код не предоставляет информацию об образцах (например, клинических ковариатах в исследованиях пациентов). Я не уверен, что вопрос/гипотеза, которую вы тестируете, - это . Например, если вы сравниваете лечение (как правило, закодированное с 1) по сравнению с отсутствием лечения (0), вы должны запускать:

design <- model.matrix(~ feature$treatment) 

где feature является матрицей или data.frame с клиническими данными.

Не видя ваши фактические данные и примеры/клинические признаки, моя догадка, что что-то пошло не так в этих двух строк кода:

design <- model.matrix(~0 + expression) 
colnames(design) <- levels(expression) 

То есть, набор из проектной матрицы.

Возможно, вы захотите пересмотреть пакет R/Bioconductor limma и, при необходимости, работать с примером.