我正在使用Bioconductor limma
软件包。我想在eBayes
函数中定义自由度以进行微阵列分析。如何更改默认的自由度?请看下面的代码:
fit2 <- eBayes(fit2, 0.01)
答案 0 :(得分:0)
但是,建模后更改自由度的原因尚不清楚,因为自由度是输入数据中变量和观测值的特征。您可以更改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)