## create an object of type \code{plmDE} containing disease
## with "control" and "disease" and measurements of weight and severity:
ExpressionData = as.data.frame(matrix(abs(rnorm(10000, 1, 1.5)), ncol = 100))
names(ExpressionData) = sapply(1:100, function(x) paste("Sample", x))
Genes = sapply(1:100, function(x) paste("Gene", x))
DataInfo = data.frame(sample = names(ExpressionData), group = c(rep("Control", 50),
rep("Diseased", 50)), weight = abs(rnorm(100, 50, 20)), severity = c(rep(0, 50),
abs(rnorm(50, 100, 20))))
plmDEobject = plmDEmodel(Genes, ExpressionData, DataInfo)
## create a linear model from which various hypotheses can be tested:
toTest = limmaPLM(plmDEobject, continuousCovariates = c("weight", "severity"),
fitSplineFromData = TRUE, splineDegrees = rep(3, length(groups)),
splineKnots = rep(0, length(groups)), splineKnotSpread = "quantile")
## view the coefficients/variables in the model:
toTest$coefficients[1, ]
weightCoefficients = c("DiseasedBasisFunction.weight.1",
"DiseasedBasisFunction.weight.2", "DiseasedBasisFunction.weight.3",
"DiseasedBasisFunction.weight.4", "DiseasedBasisFunction.weight.5",
"DiseasedBasisFunction.weight.6", "DiseasedBasisFunction.weight.7",
"DiseasedBasisFunction.weight.8", "DiseasedBasisFunction.weight.9")
## test the significance of weight in variation of the expression levels:
toTestCoefficients = contrasts.fit(toTest, coefficients = weightCoefficients)
moderatedTest = eBayes(toTestCoefficients)
topTableF(moderatedTest)
Run the code above in your browser using DataLab