Как определить степени свободы в функции eBayes
Я использую биокондуктор limma
пакет. Я хочу определить степень свободы в eBayes
функция для анализа микрочипов. Как я могу изменить стандартные степени свободы в нем? Пожалуйста, смотрите код ниже:
fit2 <- eBayes(fit2, 0.01)
1 ответ
Однако причина изменения степеней свободы после моделирования неясна, поскольку степени свободы характеризуют количество переменных и наблюдений в ваших входных данных. Вы можете изменить степень свободы MArrayLM
объект, который является аргументом eBayes
функция. Пожалуйста, смотрите код ниже:
# source("https://bioconductor.org/biocLite.R")
# biocLite("limma", suppressUpdates = TRUE)
library(limma)
set.seed(123)
sigma2 <- 0.05 / rchisq(100, df = 10) * 10
y <- matrix(rnorm(100 * 6, sd = sqrt(sigma2)), 100, 6)
design <- cbind(Intercept=1, Group=c(0, 0, 0, 1, 1, 1))
y[1, 4:6] <- y[1, 4:6] + 1
fit <- lmFit(y, design)
fit$df.residual
# [1] 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
# [63] 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
fit$df.residual <- rep(3, 100)
# Moderated t-statistic
fit <- eBayes(fit, .01)