如何在eBayes函数中定义自由度

时间:2018-09-24 19:13:06

标签: r analysis bioconductor limma

我正在使用Bioconductor limma软件包。我想在eBayes函数中定义自由度以进行微阵列分析。如何更改默认的自由度?请看下面的代码:

fit2 <- eBayes(fit2, 0.01)

1 个答案:

答案 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)