From 726abc8da840c62125d10f9d6a8c8192e436d957 Mon Sep 17 00:00:00 2001 From: "mtmorgan@fhcrc.org" Date: Mon, 12 Nov 2012 17:41:28 +0000 Subject: [PATCH] add plrs package git-svn-id: https://hedgehog.fhcrc.org/bioconductor/trunk/madman/Rpacks/plrs@71140 bc3139a8-67e5-0310-9ffc-ced21a209358 --- DESCRIPTION | 15 + NAMESPACE | 43 ++ R/AllClasses.r | 33 ++ R/AllGenerics.r | 6 + R/Bmat.r | 47 ++ R/convertToTime.r | 13 + R/criteria.r | 77 +++ R/estimateKnots.r | 46 ++ R/make.mat.constr.r | 190 ++++++++ R/modify.conf.r | 76 +++ R/plot.plrs.r | 143 ++++++ R/plrs-methods.r | 128 +++++ R/plrs.cb.r | 37 ++ R/plrs.fit.r | 132 ++++++ R/plrs.r | 324 +++++++++++++ R/plrs.select-methods.r | 51 ++ R/plrs.select.r | 49 ++ R/plrs.series-methods.r | 62 +++ R/plrs.series.r | 228 +++++++++ R/plrs.sim.r | 100 ++++ R/plrs.submodels.r | 940 +++++++++++++++++++++++++++++++++++++ R/plrs.test.r | 103 ++++ R/predict.plrs.r | 18 + R/quantileBetabar.r | 25 + R/respCI.r | 88 ++++ data/neveCN17.RData | Bin 0 -> 26728 bytes data/neveGE17.RData | Bin 0 -> 415764 bytes inst/doc/mybib.bib | 61 +++ inst/doc/plrs_vignette.Rnw | 404 ++++++++++++++++ man/criteria.Rd | 46 ++ man/modify.conf.Rd | 50 ++ man/neveCN17.Rd | 31 ++ man/neveGE17.Rd | 31 ++ man/plot-methods.Rd | 55 +++ man/plrs-class.Rd | 58 +++ man/plrs-package.Rd | 41 ++ man/plrs.Rd | 79 ++++ man/plrs.cb.Rd | 54 +++ man/plrs.select-class.Rd | 33 ++ man/plrs.select.Rd | 30 ++ man/plrs.series-class.Rd | 35 ++ man/plrs.series.Rd | 101 ++++ man/plrs.sim.Rd | 55 +++ man/plrs.test.Rd | 70 +++ man/predict.plrs.Rd | 30 ++ 45 files changed, 4238 insertions(+) create mode 100644 DESCRIPTION create mode 100644 NAMESPACE create mode 100644 R/AllClasses.r create mode 100644 R/AllGenerics.r create mode 100644 R/Bmat.r create mode 100644 R/convertToTime.r create mode 100644 R/criteria.r create mode 100644 R/estimateKnots.r create mode 100644 R/make.mat.constr.r create mode 100644 R/modify.conf.r create mode 100644 R/plot.plrs.r create mode 100644 R/plrs-methods.r create mode 100644 R/plrs.cb.r create mode 100644 R/plrs.fit.r create mode 100644 R/plrs.r create mode 100644 R/plrs.select-methods.r create mode 100644 R/plrs.select.r create mode 100644 R/plrs.series-methods.r create mode 100644 R/plrs.series.r create mode 100644 R/plrs.sim.r create mode 100644 R/plrs.submodels.r create mode 100644 R/plrs.test.r create mode 100644 R/predict.plrs.r create mode 100644 R/quantileBetabar.r create mode 100644 R/respCI.r create mode 100644 data/neveCN17.RData create mode 100644 data/neveGE17.RData create mode 100644 inst/doc/mybib.bib create mode 100644 inst/doc/plrs_vignette.Rnw create mode 100644 man/criteria.Rd create mode 100644 man/modify.conf.Rd create mode 100644 man/neveCN17.Rd create mode 100644 man/neveGE17.Rd create mode 100644 man/plot-methods.Rd create mode 100644 man/plrs-class.Rd create mode 100644 man/plrs-package.Rd create mode 100644 man/plrs.Rd create mode 100644 man/plrs.cb.Rd create mode 100644 man/plrs.select-class.Rd create mode 100644 man/plrs.select.Rd create mode 100644 man/plrs.series-class.Rd create mode 100644 man/plrs.series.Rd create mode 100644 man/plrs.sim.Rd create mode 100644 man/plrs.test.Rd create mode 100644 man/predict.plrs.Rd diff --git a/DESCRIPTION b/DESCRIPTION new file mode 100644 index 0000000..5f9b53f --- /dev/null +++ b/DESCRIPTION @@ -0,0 +1,15 @@ +Package: plrs +Version: 0.99.0 +Type: Package +Title: Piecewise Linear Regression Splines (PLRS) for the association + between DNA copy number and gene expression +Author: Gwenael G.R. Leday +Maintainer: Gwenael G.R. Leday to +Depends: R (>= 2.10), Biobase +Imports: BiocGenerics, CGHbase, graphics, grDevices, ic.infer, marray, + methods, quadprog, Rcsdp, stats, stats4, utils +Suggests: mvtnorm, methods +Description: The present package implements a flexible framework for + modeling the relationship between DNA copy number and gene + expression data using Piecewise Linear Regression Splines (PLRS). +License: GPL (>=2.0) diff --git a/NAMESPACE b/NAMESPACE new file mode 100644 index 0000000..f2b7dcc --- /dev/null +++ b/NAMESPACE @@ -0,0 +1,43 @@ +import(methods) + +importMethodsFrom(marray, lines, points) + +importFrom(BiocGenerics, residuals) +importFrom(Biobase, exprs) +importFrom(CGHbase, segmented, probloss, probnorm, probgain, probamp) +importFrom(graphics, abline, box, polygon) +importFrom(grDevices, dev.off, jpeg, pdf) +importFrom(ic.infer, ic.weights, pbetabar) +importFrom(quadprog, solve.QP) +importFrom(Rcsdp, csdp) +importFrom(stats, lm, p.adjust, pf, quantile, rnorm, runif, vcov) +importFrom(stats4, coef, summary, plot) +importFrom(utils, combn, head) + +export("plrs.sim","plrs.cb","plrs.series") +exportClasses( + "plrs", + "plrs.select", + "plrs.series" +) +exportMethods( + "coef", + "fitted", + "effects", + "knots", + "model.matrix", + "plot", + "predict", + "print", + "residuals", + "show", + "summary" +) +export( + "criteria", + "modify.conf", + "plrs", + "plrs.select", + "plrs.test" +) + diff --git a/R/AllClasses.r b/R/AllClasses.r new file mode 100644 index 0000000..25cbfa6 --- /dev/null +++ b/R/AllClasses.r @@ -0,0 +1,33 @@ +################ +## All Classes +################ + +setClass("plrs", + representation(coefficients = "numeric", + fitted.values = "numeric", + residuals = "numeric", + X = "matrix", + data = "list", + mdata = "list", + QP = "list", + test = "list", + cb = "list", + selected = "logical", + type = "character", + call.arg = "list") +) +setClass("plrs.select", + representation(table = "matrix", + model = "plrs", + crit = "character") +) +setClass("plrs.series", + representation(coefficients = "matrix", + effects = "list", + test = "matrix", + general = "matrix", + modelsType = "list", + call.arg = "list") +) + + diff --git a/R/AllGenerics.r b/R/AllGenerics.r new file mode 100644 index 0000000..c601d33 --- /dev/null +++ b/R/AllGenerics.r @@ -0,0 +1,6 @@ +################ +## All Generics +################ + +setGeneric("fitted", function(object,...) standardGeneric("fitted")) +setGeneric("predict", function(object,...) standardGeneric("predict")) diff --git a/R/Bmat.r b/R/Bmat.r new file mode 100644 index 0000000..8fc10ff --- /dev/null +++ b/R/Bmat.r @@ -0,0 +1,47 @@ +# Internal function +# Build design matrix with truncated power basis functions + +# Author: Gwenael G.R. Leday + +.Bmat <- function(cghseg, knots, continuous=TRUE, general.intercept=TRUE){ + + nKnots <- length(knots) + nval <- nKnots + 1 + xx <- cghseg + mat <- matrix(cghseg) + if(general.intercept) mat <- cbind(rep(1, length(xx)) ,mat) + + # Truncated p-th power function + tpower <- function(x, t, p) (x - t) ^ p * (x > t) + + if(continuous){ + if(nKnots>=1) mat <- cbind(mat, tpower(xx, knots[1], 1)) + if(nKnots>=2) mat <- cbind(mat, tpower(xx, knots[2], 1)) + if(nKnots>=3) mat <- cbind(mat, tpower(xx, knots[3], 1)) + nval2 <- 0 + } + else{ + if(nKnots>=1){ + mat <- cbind(mat, tpower(xx, knots[1], 0)) + mat <- cbind(mat, tpower(xx, knots[1], 1)) + } + if(nKnots>=2){ + mat <- cbind(mat, tpower(xx, knots[2], 0)) + mat <- cbind(mat, tpower(xx, knots[2], 1)) + } + if(nKnots>=3){ + mat <- cbind(mat, tpower(xx, knots[3], 0)) + mat <- cbind(mat, tpower(xx, knots[3], 1)) + } + nval2 <- nval - 1 + } + + # Labels + theta.1 <- paste(paste(paste("theta",0:(nval-1),sep=""),".",sep=""),1,sep="") + if(!general.intercept & nval2==0) theta.0 <- NULL + else{ theta.0 <- paste(paste(paste("theta",0:nval2,sep=""),".",sep=""),0,sep="")} + colnames(mat) <- sort(c(theta.0, theta.1)) + + return(mat) +} + diff --git a/R/convertToTime.r b/R/convertToTime.r new file mode 100644 index 0000000..b776416 --- /dev/null +++ b/R/convertToTime.r @@ -0,0 +1,13 @@ +# Internal function +# Convert seconds into a "HH:MM:SS" format + +# Author: Gwenael G.R. Leday + +.convertToTime <- function(x){ + h <- as.character(x%/%3600) + m <- as.character((x%%3600)%/%60) + s <- as.character(round((x%%3600)%%60)) + if(nchar(m)==1) m <- paste(0,m,sep="") + if(nchar(s)==1) s <- paste(0,s,sep="") + return(paste(h,m,s,sep=":")) +} \ No newline at end of file diff --git a/R/criteria.r b/R/criteria.r new file mode 100644 index 0000000..d26507e --- /dev/null +++ b/R/criteria.r @@ -0,0 +1,77 @@ +# Extract AIC, AICC, BIC and OSAIC from a 'plrs' object + +# Author: Gwenael G.R. Leday + +criteria <- function(obj, crit = "all"){ + + # Error handling + if(class(obj)!="plrs") stop("An object of class \"plrs\" is required") + if(length(crit)==0) stop("No criterion") + if(length(crit)==1) if(crit=="all") crit <- c("aic","aicc","bic","osaic") + if(!is.character(crit)) stop("'crit' has to be a character") + if(!"all"%in%crit & !"aic"%in%crit & !"aicc"%in%crit & + !"bic"%in%crit & !"osaic"%in%crit) stop("Wrong criterion") + bool <- TRUE + if("osaic"%in%crit){ + if(!obj@call.arg$constr) bool <- FALSE + else{ + if(length(coef(obj))!=1){ + if(obj@QP$meq == nrow(t(obj@QP$Amat))) bool <- FALSE + } + else{ + bool <- FALSE + } + } + } + + rss <- sum(residuals(obj)^2) + n <- length(obj@data$expr) + + # Compute criteria for the segmented model + if(rss != 0){ + if(obj@call.arg$constr & length(coef(obj))>1) p <- length(coef(obj)) - obj@QP$meq + else p <- length(coef(obj)) + + if("aic" %in% crit || "aicc" %in% crit || !bool) aic <- n*log(rss/n) + 2*p + if("aicc" %in% crit) aicc <- aic + ((2*p)*(p+1))/(n-p-1) + if("bic" %in% crit) bic <- n*log(rss/n) + log(n)*p + if("osaic" %in% crit){ # As defined in Hughes et al (2003) + if(bool){ + library(mvtnorm) + # Calculate weights + obj.unconstr <- .plrs.fit(X=obj@X, matconstr=NULL, mytype=obj@type, modelFull=obj, callArg=obj@call.arg) + cov.mat <- obj.unconstr@QP$vcov/obj.unconstr@QP$S2 + uiw <- t(obj@QP$Amat) + + # Aknowledgement: Taken from package ic.infer + if(obj@QP$meq==0){ + #wt.bar <- ic.weights(uiw %*% cov.mat %*% t(uiw)) + wt.bar <- ic.weights(crossprod(t(crossprod(t(uiw),cov.mat)),t(uiw))) + } + else{ + wt.bar <- ic.weights(solve(solve(crossprod(t(crossprod(t(uiw),cov.mat)),t(uiw)))[-(1:obj@QP$meq), -(1:obj@QP$meq)])) + } + wt.bar <- wt.bar[sort(names(wt.bar))] + r <- (length(wt.bar)-1) + osaic.npar <- sum(wt.bar*(p-r+0:r)) + osaic <- n*log(rss/n) + 2*osaic.npar + } + else{ + osaic <- aic + } + } + } + else{ + if("aic" %in% crit) aic <- -Inf + if("aicc" %in% crit) aicc <- -Inf + if("bic" %in% crit) bic <- -Inf + if("osaic" %in% crit) osaic <- -Inf + } + + out <- NULL + if("aic" %in% crit) out <- c(out, list("aic" = aic)) + if("aicc" %in% crit) out <- c(out, list("aicc" = aicc)) + if("bic" %in% crit) out <- c(out, list("bic" = bic)) + if("osaic" %in% crit) out <- c(out, list("osaic" = osaic)) + return(out) +} diff --git a/R/estimateKnots.r b/R/estimateKnots.r new file mode 100644 index 0000000..14873c4 --- /dev/null +++ b/R/estimateKnots.r @@ -0,0 +1,46 @@ +# Estimate knots + +# Author: Gwenael G.R. Leday + +.estimateKnots <- function(cghseg, cghcall, probloss=NULL, probnorm=NULL, probgain=NULL, probamp=NULL){ + + val <- sort(unique(cghcall)) + nval <- length(val) + knots <- NULL + + # Midpoints of intermediate intervals + if(is.null(probloss) || is.null(probnorm) || is.null(probgain)){ + if(nval>1){ + for(k in 1:(nval-1)){ + knots <- c(knots,(max(cghseg[cghcall==val[k]]) + min(cghseg[cghcall==val[k+1]]))/2) + } + } + } + # Estimate using call probabilities + else{ + p <- function(alpha, cghseg, leftState, rightState){ + ind1 <- as.numeric(cghseg <= alpha) + ind2 <- 1-ind1 + as.numeric(ind1%*%leftState + ind2%*%rightState) + } + for(j in 1:(length(val)-1)){ + # Reduce search to adjacent states range + lb <- min(cghseg[cghcall==val[j]]) + ub <- max(cghseg[cghcall==val[j+1]]) + + # Search maximum + xx <- seq(from=lb, to=ub, length.out=1000) + if(val[j]==-1) tomax <- sapply(xx, p, cghseg=cghseg, leftState=probloss, rightState=probnorm) + if(val[j]==0) tomax <- sapply(xx, p, cghseg=cghseg, leftState=probnorm, rightState=probgain) + if(val[j]==1) tomax <- sapply(xx, p, cghseg=cghseg, leftState=probgain, rightState=probamp) + + # Take midpoints of interval + optvals <- xx[which(tomax==max(tomax))] + leftpts <- max(cghseg[cghseg<=min(optvals)]) + rightpts <- min(cghseg[cghseg>min(optvals)]) + + knots <- c(knots, mean(c(leftpts, rightpts))) + } + } + return(knots) +} \ No newline at end of file diff --git a/R/make.mat.constr.r b/R/make.mat.constr.r new file mode 100644 index 0000000..e63dad2 --- /dev/null +++ b/R/make.mat.constr.r @@ -0,0 +1,190 @@ +# Internal function +# Build matrix of constraints + +# Author: Gwenael G.R. Leday + +.make.mat.constr <- function(constr.slopes, + constr.intercepts, + continuous, + val){ + + nval <- length(val) + + if(nval==2){ + if(all(val==c(-1,1))|all(val==c(-1,2))|all(val==c(1,2))) constr.slopes <- 1 + if(constr.slopes==2){ + if(all(val==c(-1,0))){ + if(!continuous){ + if(constr.intercepts){ + mat <- matrix(c(0,1,0,1, + 0,0,0,-1, + 0,0,1,0),3,4, byrow=TRUE) + } + else{ + mat <- matrix(c(0,1,0,1, + 0,0,0,-1),2,4, byrow=TRUE) + } + } + else{ + mat <- matrix(c(0,1,1, + 0,0,-1),2,3, byrow=TRUE) + } + } + if(all(val==c(0,1))|all(val==c(0,2))){ + if(!continuous){ + if(constr.intercepts){ + mat <- matrix(c(0,1,0,0, + 0,0,0,1, + 0,0,1,0),3,4, byrow=TRUE) + } + else{ + mat <- matrix(c(0,1,0,0, + 0,0,0,1),2,4, byrow=TRUE) + } + } + else{ + mat <- matrix(c(0,1,0, + 0,0,1),2,3, byrow=TRUE) + } + } + } + if(constr.slopes==1){ + if(!continuous){ + if(constr.intercepts){ + mat <- matrix(c(0,1,0,0, + 0,1,0,1, + 0,0,1,0),3,4, byrow=TRUE) + } + else{ + mat <- matrix(c(0,1,0,0, + 0,1,0,1),2,4, byrow=TRUE) + } + } + else{ + mat <- matrix(c(0,1,0, + 0,1,1),2,3, byrow=TRUE) + } + } + } + if(nval==3){ + if(all(val==c(-1,1,2))) constr.slopes <- 1 + if(constr.slopes==2){ + if(all(val==c(-1,0,1))|all(val==c(-1,0,2))){ + if(!continuous){ + if(constr.intercepts){ + mat <- matrix(c(0,1,0,1,0,0, + 0,0,0,0,0,1, + 0,0,0,-1,0,0, + 0,0,1,0,0,0, + 0,0,0,0,1,0),5,6, byrow=TRUE) + } + else{ + mat <- matrix(c(0,1,0,1,0,0, + 0,0,0,0,0,1, + 0,0,0,-1,0,0),3,6, byrow=TRUE) + } + } + else{ + mat <- matrix(c(0,1,1,0, + 0,0,0,1, + 0,0,-1,0),3,4, byrow=TRUE) + } + } + if(all(val==c(0,1,2))){ + if(!continuous){ + if(constr.intercepts){ + mat <- matrix(c(0,1,0,0,0,0, + 0,0,0,1,0,0, + 0,0,0,1,0,1, + 0,0,1,0,0,0, + 0,0,0,0,1,0),5,6, byrow=TRUE) + } + else{ + mat <- matrix(c(0,1,0,0,0,0, + 0,0,0,1,0,0, + 0,0,0,1,0,1),3,6, byrow=TRUE) + } + } + else{ + mat <- matrix(c(0,1,0,0, + 0,0,1,0, + 0,0,1,1),3,4, byrow=TRUE) + } + } + } + if(constr.slopes==1){ + if(!continuous){ + if(constr.intercepts){ + mat <- matrix(c(0,1,0,0,0,0, + 0,1,0,1,0,0, + 0,1,0,1,0,1, + 0,0,1,0,0,0, + 0,0,0,0,1,0),5,6, byrow=TRUE) + } + else{ + mat <- matrix(c(0,1,0,0,0,0, + 0,1,0,1,0,0, + 0,1,0,1,0,1),3,6, byrow=TRUE) + } + } + else{ + mat <- matrix(c(0,1,0,0, + 0,1,1,0, + 0,1,1,1),3,4, byrow=TRUE) + } + } + } + if(nval==4){ + if(constr.slopes==2){ + if(!continuous){ + if(constr.intercepts){ + mat <- matrix(c(0,1,0,1,0,0,0,0, + 0,0,0,0,0,1,0,0, + 0,0,0,0,0,1,0,1, + 0,0,0,-1,0,0,0,0, + 0,0,1,0,0,0,0,0, + 0,0,0,0,1,0,0,0, + 0,0,0,0,0,0,1,0),7,8, byrow=TRUE) + } + else{ + mat <- matrix(c(0,1,0,1,0,0,0,0, + 0,0,0,0,0,1,0,0, + 0,0,0,0,0,1,0,1, + 0,0,0,-1,0,0,0,0),4,8, byrow=TRUE) + } + } + else{ + mat <- matrix(c(0,1,1,0,0, + 0,0,0,1,0, + 0,0,0,1,1, + 0,0,-1,0,0),4,5, byrow=TRUE) + } + } + if(constr.slopes==1){ + if(!continuous){ + if(constr.intercepts){ + mat <- matrix(c(0,1,0,0,0,0,0,0, + 0,1,0,1,0,0,0,0, + 0,1,0,1,0,1,0,0, + 0,1,0,1,0,1,0,1, + 0,0,1,0,0,0,0,0, + 0,0,0,0,1,0,0,0, + 0,0,0,0,0,0,1,0),7,8, byrow=TRUE) + } + else{ + mat <- matrix(c(0,1,0,0,0,0,0,0, + 0,1,0,1,0,0,0,0, + 0,1,0,1,0,1,0,0, + 0,1,0,1,0,1,0,1),4,8, byrow=TRUE) + } + } + else{ + mat <- matrix(c(0,1,0,0,0, + 0,1,1,0,0, + 0,1,1,1,0, + 0,1,1,1,1),4,5, byrow=TRUE) + } + } + } + return(mat) +} \ No newline at end of file diff --git a/R/modify.conf.r b/R/modify.conf.r new file mode 100644 index 0000000..47ada01 --- /dev/null +++ b/R/modify.conf.r @@ -0,0 +1,76 @@ +# Rearrange calls to avoid low number of measurement for each state + +# Author: Gwenael G.R. Leday + +################## Details +## discard=FALSE: +# 1. Reference label is normals (coded 0) +# 2. If not enough observations: +# - 'losses' merge to 'normals' +# - 'gains' merge to 'normals' +# - 'amplifications' merge to 'gains' or 'normals' (if no 'gains' +# or not enough observations as well) +# +## discard=TRUE: +# If number of observations is lower than min.obs, +# these observations are discarded (replaced by NAs) + +modify.conf <- function(cghcall, min.obs=3, discard=TRUE){ + + val <- sort(unique(cghcall)) + nval <- length(val) + distr <- as.matrix(table(cghcall)) + val.ref <- which(val==0) + out <- cghcall + + if(nval!=1){ + if(discard){ + ind <- distr1){ + for(i in val) colr[called==i] <- col.pts[c(-1,0,1,2)==i] + } + if(length(pch)>1){ + if(length(pch)!=4) stop("Either one or four values as input") + pchtp <- rep(pch[1],length(called)) + for(i in val) pchtp[called==i] <- pch[c(-1,0,1,2)==i] + } + else{ + pchtp <- rep(pch,length(called)) + } + if(length(x@cb)!=0){ + xCB <- x@cb$x + ylbCB <- x@cb$inf + yubCB <- x@cb$sup + } + + # Main plot + if(!add){ + plot(seg, rna, + main = main, + xlab = xlab, ylab = ylab, + ylim = ylim, xlim = xlim, + pch = pchtp, cex = cex, lwd=lwd, + col = colr) + } + + # Add model + if(!pl){ + xx <- NULL + if(!is.null(knots(x))) xx <- c(knots(x)+1e-5,knots(x)-1e-5) + xx <- c(xx, seq(from=xlim[1]-0.5, to=xlim[2]+0.5, length=50-length(knots(x)))) + if(!is.null(knots(x))) xx[xx%in%knots(x)] <- xx[xx%in%knots(x)] + 1e-4 + xx <- sort(xx) + yy <- predict(x, newcghseg=xx) + nknots <- length(knots(x)) + xLine <- xx + yLine <- yy + xPts <- seg + yPts <- rna + ct <- 0 + bool <- TRUE + while(bool){ + ct <- ct + 1 + if(ct<=nknots){ + # cb + if(length(x@cb)!=0){ + indCB <- (xCB4) stop("Configurations with more than 4 states are not allowed") + out <- NULL + + ## Check configuration + # min.obs + if(!is.numeric(min.obs)) stop("'min.obs' must be a numeric") + min.obs <- round(min.obs) + if(min.obs<1) stop("'min.obs' must be a positive integer") + # discard.obs + if(!is.logical(discard.obs)) stop("'discard.obs' must be a logical") + # Nb of obs + mcghcall <- modify.conf(cghcall, min.obs=min.obs, discard=discard.obs) + + mexpr <- expr + mcghseg <- cghseg + mprobloss <- probloss + mprobnorm <- probnorm + mprobgain <- probgain + mprobamp <- probamp + if(any(is.na(mcghcall))){ + mexpr <- mexpr[!is.na(mcghcall)] + mcghseg <- mcghseg[!is.na(mcghcall)] + if(!is.null(mprobloss)) mprobloss <- probloss[!is.na(mcghcall)] + if(!is.null(mprobnorm)) mprobnorm <- mprobnorm[!is.na(mcghcall)] + if(!is.null(mprobgain)) mprobgain <- mprobgain[!is.na(mcghcall)] + if(!is.null(mprobamp)) mprobamp <- mprobamp[!is.na(mcghcall)] + mcghcall <- mcghcall[!is.na(mcghcall)] + } + val <- sort(unique(mcghcall)) + nval <- length(val) + + if(nval!=1){ + # knots + if(is.null(knots)){ + chg.pt <- .estimateKnots(cghseg = mcghseg, cghcall = mcghcall, + probloss = mprobloss, probnorm = mprobnorm, + probgain = mprobgain, probamp = mprobamp) + if(sum(order(chg.pt)==1:length(chg.pt))!=length(chg.pt)){ + warning("Cannot fit a plrs model: estimated knots are non-ordered (this may be caused by strong outliers).") + } + # Recalling + cl <- rep(val[1],length(mcghcall)) + if(length(chg.pt)>=1) cl[mcghseg>=chg.pt[1]] <- val[2] + if(length(chg.pt)>=2) cl[mcghseg>=chg.pt[2]] <- val[3] + if(length(chg.pt)>=3) cl[mcghseg>=chg.pt[3]] <- val[4] + names(cl) <- names(mcghcall) + # Reconfigure + tp <- modify.conf(cl, min.obs=min.obs, discard=discard.obs) + # If not identical, this means that min obs is not fulfilled for a state after recalling, hence: + if(!identical(cl,tp)){ + mcghcall <- tp + if(any(is.na(mcghcall))){ + mexpr <- mexpr[!is.na(mcghcall)] + mcghseg <- mcghseg[!is.na(mcghcall)] + if(!is.null(mprobloss)) mprobloss <- probloss[!is.na(mcghcall)] + if(!is.null(mprobnorm)) mprobnorm <- mprobnorm[!is.na(mcghcall)] + if(!is.null(mprobgain)) mprobgain <- mprobgain[!is.na(mcghcall)] + if(!is.null(mprobamp)) mprobamp <- mprobamp[!is.na(mcghcall)] + mcghcall <- mcghcall[!is.na(mcghcall)] + } + val <- sort(unique(mcghcall)) + nval <- length(val) + chg.pt <- .estimateKnots(cghseg = mcghseg, cghcall = mcghcall, + probloss = mprobloss, probnorm = mprobnorm, + probgain = mprobgain, probamp = mprobamp) + if(sum(order(chg.pt)==1:length(chg.pt))!=length(chg.pt)){ + warning("Cannot fit a plrs model: estimated knots are non-ordered (this may be caused by strong outliers).") + } + # Recalling + cl <- rep(val[1],length(mcghcall)) + if(length(chg.pt)>=1) cl[mcghseg>=chg.pt[1]] <- val[2] + if(length(chg.pt)>=2) cl[mcghseg>=chg.pt[2]] <- val[3] + if(length(chg.pt)>=3) cl[mcghseg>=chg.pt[3]] <- val[4] + names(cl) <- names(mcghcall) + } + mcghcall <- cl + rm(cl) + } + else{ + if(!is.numeric(knots)) stop("'knots' is not correct") + if(length(knots)!=(nval-1)) stop("wrong number of knots") + chg.pt <- knots + } + + # continuous + if(is.null(continuous) || !is.logical(continuous) || + (is.vector(continuous) & length(continuous)>1)) stop("'continuous' is not correct") + + # constr + if(!(is.logical(constr) & length(constr)==1)) stop("'constr' must be a logical") + else{ + # constr.slopes + if(!is.null(constr.slopes)){ + if(!(is.numeric(constr.slopes) & length(constr.slopes)==1)) + stop("'constr.slopes' must be a numeric") + if(sum(constr.slopes%in%c(1,2))!=length(constr.slopes)) + stop("wrong type of constraints for slopes") + } + else{ + constr.slopes <- 2 + } + + # constr.intercepts + if(!is.null(constr.intercepts)){ + if(!(is.logical(constr.intercepts) & length(constr.intercepts)==1)) + stop("'constr.intercepts' must be a logical") + } + else{ + constr.intercepts <- FALSE + } + if(constr & !constr.intercepts & is.null(constr.slopes)) constr <- FALSE + } + } + + + ### Fit (constrained) plrs + if(nval!=1){ + # Unconstrained model + if(!constr){ + # Design matrix + X <- .Bmat(mcghseg, knots = chg.pt, + continuous = continuous, + general.intercept = TRUE) + + # fit + #sol <- lm.fit(x=X, y=em)$coef + lm.obj <- lm(mexpr~.-1, data=as.data.frame(cbind(mexpr,X))) + sol <- coef(lm.obj) + cov.mat <- vcov(lm.obj) + S2 <- summary(lm.obj)$sigma^2 + df.error <- lm.obj$df.res + } + # Constrained model + else{ + # Design matrix + X <- .Bmat(mcghseg, knots=chg.pt, + continuous=continuous, + general.intercept=TRUE) + + # Input solve.QP + Dmat <- crossprod(X,X) + dvec <- crossprod(X,mexpr) + + # Get matrix of constraints + get.mat <- .make.mat.constr(constr.intercepts=constr.intercepts, constr.slopes=constr.slopes, continuous=continuous, val=val) + + # Input + Amat <- t(get.mat) + bvec <- rep(0, nrow(get.mat)) + + ## Quadratic programming + sol <- solve.QP(Dmat, as.vector(dvec), Amat, bvec, meq = 0)$sol + names(sol) <- colnames(X) + } + } + ### Fit simple linear model + else{ + # Design matrix + X <- cbind(1,mcghseg) + colnames(X) <- c("theta0.0","theta0.1") + + # Unconstrained + if(!constr){ + #sol <- lm.fit(x=X, y=mexpr)$coef + lm.obj <- lm(mexpr~.-1, data=as.data.frame(cbind(mexpr,X))) + sol <- coef(lm.obj) + cov.mat <- vcov(lm.obj) + S2 <- summary(lm.obj)$sigma^2 + df.error <- lm.obj$df.res + } + # Constrain slope to be positive or null + else{ + # Input + Dmat <- crossprod(X,X) + dvec <- crossprod(X,mexpr) + Amat <- t(t(c(0,1))) + bvec <- 0 + meq <- 0 + + ## Quadratic programming + sol <- solve.QP(Dmat, as.vector(dvec), Amat, bvec, meq = meq)$sol + + names(sol) <- colnames(X) + } + chg.pt <- numeric() + } + + + ### Output plrs object + fit.val <- as.vector(crossprod(t(X),sol)) + names(fit.val) <- names(mexpr) + dat <- list("expr" = expr, "cghseg" = cghseg, "cghcall" = cghcall, + "probloss" = probloss, "probnorm" = probnorm, "probgain" = "probgain", "probamp" = probamp, + "conf" = conf, "knots" = chg.pt) + + mdat <- list("mexpr" = mexpr, "mcghseg" = mcghseg, "mcghcall" = mcghcall, + "mprobloss" = mprobloss, "mprobnorm" = mprobnorm, "mprobgain" = mprobgain, "mprobamp" = mprobamp, + "mconf" = val, "mknots" = chg.pt) + + if(constr){ + qp <- list("Dmat" = Dmat, "dvec" = dvec, "Amat" = Amat, + "bvec" = bvec, "meq" = 0) + } + else{ + qp <- list("vcov" = cov.mat, "S2" = S2, "df.error" = df.error) + } + + ## Type of model: Functions needed + # Identify type of model based on estimated parameters. + is.intercept <- function(x){ + if(("theta0.0" %in% names(x)) & length(x)==1){ + return(TRUE) + } + else{ + return(FALSE) + } + } + is.linear <- function(x){ + if(all(c("theta0.0","theta0.1") %in% names(x)) & length(x)==2){ + return(TRUE) + } + else{ + return(FALSE) + } + } + is.piecewise <- function(x){ + if(!is.intercept(x) & !is.linear(x)){ + return(TRUE) + } + else{ + return(FALSE) + } + } + is.piecewise.level <- function(x){ + IDintercpts <- as.numeric(substr(names(x),8,9)) + if(is.piecewise(x) & sum(IDintercpts)==0){ + return(TRUE) + } + else{ + return(FALSE) + } + } + # Def: is piecewise linear if it is piecewise and not level + is.piecewise.linear <- function(x){ + if(is.piecewise(x) & !is.piecewise.level(x)){ + return(TRUE) + } + else{ + return(FALSE) + } + } + if(is.intercept(sol)) model.type <- "Intercept" + if(is.linear(sol)) model.type <- "Linear" + if(is.piecewise.level(sol)) model.type <- "Piecewise level" + if(is.piecewise.linear(sol)) model.type <- "Piecewise linear" + + call.arg <- list("continuous" = continuous, + "constr" = constr, + "constr.intercepts" = constr.intercepts, + "constr.slopes" = constr.slopes, + "config" = paste(as.character(val),collapse=",")) + out <- new("plrs", + coefficients = sol, + fitted.values = fit.val, + residuals = mexpr - fit.val, + X = X, + data = dat, + mdata = mdat, + QP = qp, + test = list(), + cb = list(), + selected = FALSE, + type = model.type, + call.arg = call.arg) + + return(out) +} diff --git a/R/plrs.select-methods.r b/R/plrs.select-methods.r new file mode 100644 index 0000000..8e1efd9 --- /dev/null +++ b/R/plrs.select-methods.r @@ -0,0 +1,51 @@ +############################ +## Methods for "plrs.select" +############################ + +setMethod( + f = "plot", + signature = "plrs.select", + definition = function(x,y,...) plot.plrs(x@model,...) +) +setMethod( + f = "print", + signature = "plrs.select", + definition = function(x,...){ + # Display + cat("\n") + cat("Object of class \"plrs.select\"\n\n") + cat(toupper(x@crit), "model selection procedure", "\n\n") + + cat("Coefficients of selected spline:\n") + print(round(coef(x@model),5)) + cat("\n") + if(x@model@call.arg$constr){ + cat("Model is constrained:\n") + cat("constr.slopes =", x@model@call.arg$constr.slopes,"\n") + if(!is.null(x@model@call.arg$constr.slopes.to.zero)) cat("constr.slopes.to.zero =", x@model@call.arg$constr.slopes.to.zero,"\n") + cat("constr.intercepts =", x@model@call.arg$constr.intercepts,"\n\n") + } + } +) +setMethod( + f = "show", + signature = "plrs.select", + definition = function(object) print(object) +) +setMethod( + f = "summary", + signature = "plrs.select", + definition = function(object,...){ + # Display + print(object) + cat("Model selection table:\n") + if(nrow(object@table)>5){ + print(head(object@table)) + cat("...\n\n") + } + else{ + print(object@table) + cat("\n") + } + } +) \ No newline at end of file diff --git a/R/plrs.select.r b/R/plrs.select.r new file mode 100644 index 0000000..58552ba --- /dev/null +++ b/R/plrs.select.r @@ -0,0 +1,49 @@ +# Select the best model based on information criteria +# AIC, AICC, BIC or OSAIC + +# Author: Gwenael G.R. Leday + +plrs.select <- function(object, crit = ifelse(object@call.arg$constr,"osaic","aic")){ + + criter <- crit + if(is.null(criter)) stop("No criterion") + if(length(criter)>1) stop("Multiple criteria are not allowed") + if(!is.character(criter)) stop("Criterion has to be a character") + if(!criter%in%c("aic","aicc","bic","osaic")) stop("Wrong criterion") + + # Generate all design and constraint matrices + allsubmodels <- .plrs.submodels(object) + + # Fit all submodels + allModels <- rep(list(NULL),length(allsubmodels$allMats)) + for(k in 1:length(allsubmodels$allMats)){ + allModels[[k]] <- .plrs.fit(X = allsubmodels$allMats[[k]], + matconstr = allsubmodels$allConstr[[k]], + mytype = allsubmodels$allTypes[k], + modelFull = object, callArg=object@call.arg) + } + allModels <- c(allModels, object) + allTypes <- c(allsubmodels$allTypes, "Piecewise linear") + + # Compute criterion + f <- function(x) criteria(x, criter)[criter] + crits <- unlist(lapply(allModels, f)) + crits <- matrix(crits, length(crits), 1) + rownames(crits) <- paste("model",1:length(allModels), sep="") + colnames(crits) <- criter + + # Output + best <- which.min(crits) + bmodel <- allModels[[best]] + bmodel@selected <- TRUE + bmodel@type <- allTypes[best] + + out <- new("plrs.select", + "table" = crits, + "model" = bmodel, + "crit" = criter) + return(out) +} + + + diff --git a/R/plrs.series-methods.r b/R/plrs.series-methods.r new file mode 100644 index 0000000..a0545df --- /dev/null +++ b/R/plrs.series-methods.r @@ -0,0 +1,62 @@ +################################ +## Methods for "plrs.series" +################################ + +setMethod( + f = "print", + signature = "plrs.series", + definition = function(x,...){ + cat("\n") + cat("Object of class \"plrs.series\"\n\n") + cat(nrow(x@coefficients),"genes\n") + if(is.null(x@call.arg$control.select)){ + cat("\n") + cat("Type of fitted model:\n") + cat("continuous =", x@call.arg$control.model$continuous,"\n") + if(x@call.arg$control.model$constr){ + cat("constr.slopes =", x@call.arg$control.model$constr.slopes,"\n") + cat("constr.intercepts =", x@call.arg$control.model$constr.intercepts,"\n\n") + } + else{ + cat("constr =", x@call.arg$control.model$constr,"\n\n") + } + }else{ + cat("Models selected with", toupper(x@call.arg$control.select$crit), "\n\n") + } + } +) +setMethod( + f = "show", + signature = "plrs.series", + definition = function(object){ + print(object) + } +) +setMethod( + f = "summary", + signature = "plrs.series", + definition = function(object,...){ + # Display + print(object) + cat("Configuration:\n") + print(object@general) + cat("\n") + cat("Nb of models regarding their types:\n") + cat("Intercept ",object@modelsType$summary[1],"\n") + cat("Simple linear ",object@modelsType$summary[2],"\n") + if(nrow(object@general)>1){ + cat("Piecewise level ",object@modelsType$summary[3],"\n") + cat("Piecewise linear ",object@modelsType$summary[4],"\n\n") + } + else{ + cat("\n") + } + if(length(object@test)!=0){ + cat("Testing:\n") + cat("Number of rejected null hypothesis:", sum(object@test[,3]<.1, na.rm=T), "genes\n") + cat("(at 0.1 significance level based on \n Benjamini-Hochberg corrected p-values)\n\n") + } + } +) + + diff --git a/R/plrs.series.r b/R/plrs.series.r new file mode 100644 index 0000000..b91c40a --- /dev/null +++ b/R/plrs.series.r @@ -0,0 +1,228 @@ +# Fit plrs models for a series of arrays + +# Author: Gwenael G.R. Leday + +plrs.series <- function(expr, cghseg, cghcall=NULL, + probloss = NULL, + probnorm = NULL, + probgain = NULL, + probamp = NULL, + control.model = list(continuous=FALSE, constr=TRUE, constr.slopes=2, constr.intercepts=TRUE, min.obs=3, discard.obs=TRUE), + control.select = list(crit = ifelse(control.model$constr,"osaic","aic")), + control.test = list(testing=TRUE, cb=FALSE, alpha=0.05), + control.output = list(save.models = FALSE, save.plots = FALSE, plot.lin = FALSE, type = "jpeg")){ + + #### Check input + if(class(expr)=="ExpressionSet"){ + expr <- exprs(expr) + } + if(class(cghseg)=="cghSeg"){ + cghseg <- segmented(cghseg) + cghcall <- NULL + } + if(class(cghseg)=="cghCall"){ + cghcall <- CGHbase:::calls(cghseg) + if(sum(dim(cghcall)==c(0,0))!=0){ + cghcall <- NULL + probloss <- probnorm <- probgain <- probamp <- NULL + cghseg <- segmented(cghseg) + } + else{ + probloss <- probloss(cghseg) + probnorm <- probnorm(cghseg) + probgain <- probgain(cghseg) + probamp <- probamp(cghseg) + cghseg <- segmented(cghseg) + } + } + if(!(is.matrix(expr) & is.matrix(cghseg))){ + stop("input data have to be in matrix format") + } + else{ + if(any(is.na(expr))) stop("Missing values are not allowed in expr") + if(!sum(dim(expr)==dim(cghseg))==2) + stop("dimensions of input data are not the same") + } + if(is.null(cghcall)) cghcall <- matrix(0, nrow(expr), ncol(expr), dimnames=dimnames(expr)) + if(!is.matrix(cghcall)){ + stop("input data have to be in matrix format") + } + else{ + if(!sum(dim(expr)==dim(cghcall))==2) + stop("dimensions of input data are not the same") + } + # control.model + if(!is.list(control.model)) stop("control.model is not a list") + if(!"continuous"%in%names(control.model)) control.model$continuous <- FALSE + if(!"constr"%in%names(control.model)) control.model$constr <- TRUE + if(!"constr.slopes"%in%names(control.model)) control.model$constr.slopes <- 2 + if(!"constr.intercepts"%in%names(control.model)) control.model$constr.intercepts <- TRUE + if(!"min.obs"%in%names(control.model)) control.model$min.obs <- 3 + if(!"discard.obs"%in%names(control.model)) control.model$discard.obs <- TRUE + # control.select + if(!is.list(control.select) & !is.null(control.select)) stop("control.select is not a list") + if(length(control.select)>0){ + if(!"crit"%in%names(control.select)) control.select$crit <- ifelse(control.model$constr,"osaic","aic") + } + # control.test + if(!is.list(control.test)) stop("control.test is not a list") + if(!"testing"%in%names(control.test)) control.test$testing <- TRUE + if(!"cb"%in%names(control.test)) control.test$cb <- FALSE + if(!"alpha"%in%names(control.test)) control.test$alpha <- FALSE + if(!control.test$testing & control.test$cb) control.test$testing <- TRUE + # control.output + if(!is.list(control.output)) stop("control.output is not a list") + if(!"save.models"%in%names(control.output)) control.output$save.models <- FALSE + if(!"save.plots"%in%names(control.output)) control.output$save.plots <- FALSE + if(!"plot.lin"%in%names(control.output)) control.output$plot.lin <- FALSE + if(!"type"%in%names(control.output)) control.output$type <- "jpeg" + + + # Matrix of coefficients + ngenes <- nrow(expr) + est <- matrix(NA, ngenes, 8) + nam1 <- colnames(est) <- c("theta0.0", "theta0.1", "theta1.0", "theta1.1", "theta2.0", "theta2.1", "theta3.0", "theta3.1") + rownames(est) <- paste("gene",1:ngenes,sep="") + + # Matrix of model types + modelTypes <- matrix(F, ngenes, 4) + colnames(modelTypes) <- c("Intercept", "Linear", "Piecewise level", "Piecewise linear") + rownames(modelTypes) <- rownames(est) + + # Matrix of effects + Ieff <- Seff <- matrix(F, ngenes, 4) + nam3 <- colnames(Ieff) <- colnames(Seff) <- c("Loss", "Norm.", "Gain", "Ampl.") + rownames(modelTypes) <- rownames(est) + + # Testing + if(control.test$testing){ + res.test <- matrix(NA, ngenes, 3, dimnames=list(rownames(est), c("stat","raw.pval","BH.adj.pval"))) + } + + # Summary matrix on aberrations + config <- matrix(NA, ngenes, 4) + colnames(config) <- as.character(-1:2) + rownames(config) <- rownames(est) + + # Create directories for output + if(control.output$save.plots) dir.create("plrsSeriesPlots") + if(control.output$save.models) dir.create("plrsSeriesObjects") + if(is.null(rownames(expr))){ + lab <- 1:nrow(expr) + } + else{ + lab <- rownames(expr) + } + + # Relabel rownames duplicates + ind <- duplicated(lab) + cp <- 1 + while(sum(ind)!=0){ + lab[ind] <- paste(lab[ind], "_", cp, sep="") + ind <- duplicated(lab) + if(sum(ind)!=0) lab[ind] <- substr(lab[ind], 1, nchar(lab[ind])-2) + cp <- cp + 1 + } + + if(ngenes>100){ + cat("In progress... \n\n") + toprint <- round(quantile(1:ngenes, probs=seq(0, 1, 0.10))[-1]) + t <- proc.time() + ct <- 1 + } + + for(x in 1:ngenes){ + if(ngenes>100){ + if(x==toprint[ct]){ + xx <- (proc.time() - t)[3] + cat(names(toprint[ct]), " done (", toprint[ct]," genes),\t ", + "time elapsed = ", .convertToTime(xx),"\n", sep="") + ct <- ct + 1 + } + } +#cat("i = ", x, "\n") + error <- try( + model <- plrs(expr=expr[x,], cghseg=cghseg[x,], cghcall=cghcall[x,], + probloss = probloss[x,], + probnorm = probnorm[x,], + probgain = probgain[x,], + probamp = probamp[x,], + continuous = control.model$continuous, + constr = control.model$constr, + constr.slopes = control.model$constr.slopes, + constr.intercepts = control.model$constr.intercepts, + min.obs = control.model$min.obs, + discard.obs = control.model$discard.obs) + ,T) + if(!inherits(error, "try-error")){ + vec <- as.vector(table(model@data$cghcall)) + config[x,colnames(config)%in%as.character(model@data$conf)] <- vec + if(!is.null(control.select)) model <- plrs.select(model, crit = control.select$crit)@model + est[x,nam1%in%names(coef(model))] <- coef(model) + modelTypes[x,colnames(modelTypes)%in%model@type] <- TRUE + tabb <- effects(model) + indeff <- !is.na(tabb[,2]) + Ieff[x,indeff] <- tabb[indeff,2] + Seff[x,indeff] <- tabb[indeff,3] + + if(control.test$testing || control.test$cb){ + model <- plrs.test(model) + if(length(model@test)!=0){ + res.test[x,1] <- model@test$stat + res.test[x,2] <- model@test$pvalue + if(control.test$cb){ + model <- plrs.cb(model, alpha=0.05) + } + } + } + if(control.output$save.models){ + save(model, file = paste("plrsSeriesObjects/gene_",lab[x],".RData",sep="")) + } + if(control.output$plot.lin || control.output$save.plots){ + if(control.output$save.plots){ + if(control.output$type=="pdf") pdf(paste("plrsSeriesPlots/gene",lab[x],".pdf",sep="")) + if(control.output$type=="jpeg") jpeg(paste("plrsSeriesPlots/gene",lab[x],".jpeg",sep="")) + } + plot(model, lin=control.output$plot.lin) + if(control.output$save.plots) dev.off() + } + } + } + est <- round(est,8) + + ### Distribution of nb observations + general <- apply(config, 2, function(x)sum(!is.na(x))) + tp <- matrix(NA, 4, 4) + for(d in 1:ncol(config)){ + if(general[d]!=0) tp[,d] <- summary(config[,d])[c(1,3,4,6)] + } + general <- rbind(general, tp) + colnames(general) <- colnames(config) + rownames(general) <- c("Nb genes","Min. obs","Median. obs","Mean. obs","Max. obs") + if(sum(general[1,]!=0)==1){ + general <- t(as.matrix(general[1,])) + rownames(general) <- "Nb genes" + } + + ### Type of models + type.model <- as.matrix(colSums(modelTypes)) + rownames(type.model) <- c("Intercept", "Simple linear", "Piecewise level", "Piecewise linear") + colnames(type.model) <- "NbModels" + + ### Testing + if(control.test$testing) res.test[,3] <- p.adjust(res.test[,2], method = "BH") + else{ + res.test <- matrix(nrow=0,ncol=0) + } + + cat("\n") + out <- new("plrs.series", + coefficients = est, + effects = list(I=Ieff, S=Seff), + test = res.test, + general = general, + modelsType = list(summary=type.model, all=modelTypes), + call.arg = list(control.model=control.model, control.select=control.select)) + return(out) +} + diff --git a/R/plrs.sim.r b/R/plrs.sim.r new file mode 100644 index 0000000..479b650 --- /dev/null +++ b/R/plrs.sim.r @@ -0,0 +1,100 @@ +# Generate PLRS relationships + +plrs.sim <- function(n=80, states=4, sigma=1, x=NULL){ + + if(states==1){ + int <- 1 + slp <- 1 + knot <- NULL + if(is.null(x)){ + x <- runif(round(n), min = 0, max = 1) + x <- x[sample(1:length(x))] + } + y <- int[1] + slp[1]*x + rnorm(n, mean = 0, sd = sigma) + cal <- rep(0,length(x)) + + xtrue <- seq(0, 1, length=100) + ytrue <- int[1] + slp[1]*xtrue + } + if(states==2){ + int <- c(1,1.5) + slp <- c(0,1) + knot <- 0.5 + if(is.null(x)){ + x1 <- runif(round(n/2), min = 0, max = 0.5) + x2 <- runif(round(n/2), min = 0.5, max = 1) + x <- c(x1,x2) + } + y <- x + y[x<=0.5] <- slp[1]*x[x<=0.5] + int[1] + y[x>0.5] <- slp[2]*x[x>0.5] + int[2] - slp[2]*0.5 + y <- y + rnorm(n, mean = 0, sd = sigma) + cal <- rep(0,n) + cal[x>=0.5] <- 1 + + xtrue <- seq(0, 1, length=100) + ytrue <- y + ytrue[xtrue<=0.5] <- slp[1]*xtrue[xtrue<=0.5] + int[1] + ytrue[xtrue>0.5] <- slp[2]*xtrue[xtrue>0.5] + int[2] - slp[2]*0.5 + } + if(states==3){ + int <- c(1,1.5,1.5) + slp <- c(1,0,1) + knot <- c(0.5,1) + if(is.null(x)){ + x1 <- runif(round(n/3), min = 0, max = 0.5) + x2 <- runif(round(n/3), min = 0.5, max = 1) + x3 <- runif(round(n/3), min = 1, max = 1.5) + x <- c(x1,x2,x3) + } + + y <- x + y[x<=0.5] <- slp[1]*x[x<=0.5] + int[1] + y[x>0.5&x<=1] <- slp[2]*x[x>0.5&x<=1] + int[2] - slp[2]*0.5 + y[x>1] <- slp[3]*x[x>1] + int[3] - slp[3]*0.5 + y <- y + rnorm(n, mean = 0, sd = sigma) + cal <- rep(-1,n) + cal[x>0.5&x<=1] <- 0 + cal[x>1] <- 1 + + xtrue <- seq(0, 1.5, length=100) + ytrue <- y + ytrue[xtrue<=0.5] <- slp[1]*xtrue[xtrue<=0.5] + int[1] + ytrue[xtrue>0.5&xtrue<=1] <- slp[2]*xtrue[xtrue>0.5&xtrue<=1] + int[2] - slp[2]*0.5 + ytrue[xtrue>1] <- slp[3]*xtrue[xtrue>1] + int[3] - slp[3]*0.5 + } + if(states==4){ + int <- c(1,1.5,1.5,1.75) + slp <- c(1,0,1,2) + knot <- c(0.5,1,1.5) + if(is.null(x)){ + x1 <- runif(round(n/4), min = 0, max = 0.5) + x2 <- runif(round(n/4), min = 0.5, max = 1) + x3 <- runif(round(n/4), min = 1, max = 1.5) + x4 <- runif(round(n/4), min = 1.5, max = 2) + x <- c(x1,x2,x3,x4) + } + + y <- x + y[x<=0.5] <- slp[1]*x[x<=0.5] + int[1] + y[x>0.5&x<=1] <- slp[2]*x[x>0.5&x<=1] + int[2]- slp[2]*0.5 + y[x>1&x<=1.5] <- slp[3]*x[x>1&x<=1.5] + int[3] - slp[3]*0.5 + y[x>1.5] <- slp[4]*x[x>1.5] + int[4] - slp[4]*1 + y <- y + rnorm(n, mean = 0, sd = sigma) + cal <- rep(-1,n) + cal[x>0.5&x<=1] <- 0 + cal[x>1&x<=1.5] <- 1 + cal[x>1.5] <- 2 + + xtrue <- seq(0, 2, length=100) #c(seq(from=0.3, to=0.7, length=10),seq(from=0.8, to=1.2, length=10),seq(from=1.3, to=1.7, length=10)) + + ytrue <- rep(0, length(xtrue)) + ytrue[xtrue<=0.5] <- slp[1]*xtrue[xtrue<=0.5] + int[1] + ytrue[xtrue>0.5&xtrue<=1] <- slp[2]*xtrue[xtrue>0.5&xtrue<=1] + int[2] - slp[2]*0.5 + ytrue[xtrue>1&xtrue<=1.5] <- slp[3]*xtrue[xtrue>1&xtrue<=1.5] + int[3] - slp[3]*0.5 + ytrue[xtrue>1.5] <- slp[4]*xtrue[xtrue>1.5] + int[4] - slp[4]*1 + } + + out <- list(seg=x, expr=y, cal=cal, knots=knot, xtrue=xtrue, ytrue=ytrue) + return(out) +} \ No newline at end of file diff --git a/R/plrs.submodels.r b/R/plrs.submodels.r new file mode 100644 index 0000000..fdeb227 --- /dev/null +++ b/R/plrs.submodels.r @@ -0,0 +1,940 @@ +# Internal function +# Generate all submodels (all design and constraint matrices) + +# Author: Gwenael G.R. Leday + +.plrs.submodels <- function(object){ + + constr.slopes <- object@call.arg$constr.slopes + constr.intercepts <- object@call.arg$constr.intercepts + continuous <- object@call.arg$continuous + val <- object@mdata$mconf + nval <- length(val) + + if(!object@call.arg$constr){ # If no constraints make standard search + constr.slopes <- 1 + allConstr <- NULL + } + if(nval==1){ + allLabs <- list("theta0.0") + allConstr <- list(NULL) + allTypes <- "Intercept" + } + if(nval==2){ + if(all(val==c(-1,1))|all(val==c(-1,2))|all(val==c(1,2))) constr.slopes <- 1 + if(constr.slopes==2){ + if(all(val==c(-1,0))){ + if(!continuous){ + allLabs <- list("theta0.0", c("theta0.0", "theta0.1"), c("theta0.0", "theta1.0"), + c("theta0.0", "theta0.1", "theta1.0"), c("theta0.0", "theta0.1", "theta1.1")) + allTypes <- c("Intercept", "Linear", "Piecewise level", "Piecewise linear", "Piecewise linear") + if(constr.intercepts){ + # loss-normal: 5 submodels + allConstr <- list(NULL, + matrix(c(0,1),1,2), + matrix(c(0,1),1,2), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,1,0,0,-1),2,3, byrow=TRUE)) + } + else{ + # loss-normal: 5 submodels + allConstr <- list(NULL, + matrix(c(0,1),1,2), + NULL, + matrix(c(0,1,0),1,3, byrow=TRUE), + matrix(c(0,1,1,0,0,-1),2,3, byrow=TRUE)) + } + } + else{ + # loss-normal: 3 submodels + allLabs <- list("theta0.0", c("theta0.0", "theta0.1"), c("theta0.0", "theta0.1", "theta1.1")) + allConstr <- list(NULL, + matrix(c(0,1),1,2), + matrix(c(0,1,1,0,0,-1),2,3, byrow=TRUE)) + allTypes <- c("Intercept", "Linear", "Piecewise linear") + } + } + if(all(val==c(0,1))|all(val==c(0,2))){ + if(!continuous){ + allLabs <- list("theta0.0", c("theta0.0", "theta0.1"), c("theta0.0", "theta1.0"), + c("theta0.0", "theta1.1"), c("theta0.0", "theta0.1", "theta1.0"), + c("theta0.0", "theta0.1", "theta1.1"), c("theta0.0", "theta1.0", "theta1.1")) + allTypes <- c("Intercept", "Linear", "Piecewise level", "Piecewise linear", + "Piecewise linear", "Piecewise linear", "Piecewise linear") + if(constr.intercepts){ + # normal-gain: 7 submodels + allConstr <- list(NULL, + matrix(c(0,1),1,2), + matrix(c(0,1),1,2), + matrix(c(0,1),1,2), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE)) + } + else{ + # normal-gain: 7 submodels + allConstr <- list(NULL, + matrix(c(0,1),1,2), + NULL, + matrix(c(0,1),1,2), + matrix(c(0,1,0),1,3, byrow=TRUE), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,0,1),1,3, byrow=TRUE)) + } + } + else{ + # normal-gain: 4 submodels + allLabs <- list("theta0.0", c("theta0.0", "theta0.1"), c("theta0.0", "theta1.1"), c("theta0.0", "theta0.1", "theta1.1")) + allConstr <- list(NULL, + matrix(c(0,1),1,2), + matrix(c(0,1),1,2), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE)) + allTypes <- c("Intercept", "Linear", "Piecewise linear", "Piecewise linear") + } + } + } + if(constr.slopes==1){ + if(!continuous){ + allLabs <- list("theta0.0", c("theta0.0", "theta0.1"), c("theta0.0", "theta1.0"), + c("theta0.0", "theta1.1"), c("theta0.0", "theta0.1", "theta1.0"), + c("theta0.0", "theta0.1", "theta1.1"), c("theta0.0", "theta1.0", "theta1.1")) + allTypes <- c("Intercept", "Linear", "Piecewise level", "Piecewise linear", + "Piecewise linear", "Piecewise linear", "Piecewise linear") + if(object@call.arg$constr){ + if(constr.intercepts){ + # gain-amp: 7 submodels + allConstr <- list(NULL, + matrix(c(0,1),1,2), + matrix(c(0,1),1,2), + matrix(c(0,1),1,2), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,1,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE)) + } + else{ + # gain-amp: 7 submodels + allConstr <- list(NULL, + matrix(c(0,1),1,2), + NULL, + matrix(c(0,1),1,2), + matrix(c(0,1,0),1,3, byrow=TRUE), + matrix(c(0,1,0,0,1,1),2,3, byrow=TRUE), + matrix(c(0,0,1),1,3, byrow=TRUE)) + } + } + } + else{ + # gain-amp: 4 submodels + allLabs <- list("theta0.0", c("theta0.0", "theta0.1"), c("theta0.0", "theta1.1"), c("theta0.0", "theta0.1", "theta1.1")) + if(object@call.arg$constr) allConstr <- list(NULL, + matrix(c(0,1),1,2), + matrix(c(0,1),1,2), + matrix(c(0,1,0,0,1,1),2,3, byrow=TRUE)) + allTypes <- c("Intercept", "Linear", "Piecewise linear", "Piecewise linear", "Piecewise linear") + } + } + } + if(nval==3){ + if(all(val==c(-1,1,2))) constr.slopes <- 1 + if(constr.slopes==2){ + if(all(val==c(-1,0,1))|all(val==c(-1,0,2))){ + if(!continuous){ + # loss-normal-gain: 23 models + allLabs <- list("theta0.0", + c("theta0.0", "theta0.1"), + c("theta0.0", "theta1.0"), + c("theta0.0", "theta2.0"), + c("theta0.0", "theta2.1"), + c("theta0.0", "theta0.1", "theta1.0"), + c("theta0.0", "theta0.1", "theta1.1"), + c("theta0.0", "theta0.1", "theta2.0"), + c("theta0.0", "theta0.1", "theta2.1"), + c("theta0.0", "theta1.0", "theta2.0"), + c("theta0.0", "theta1.0", "theta2.1"), + c("theta0.0", "theta2.0", "theta2.1"), + c("theta0.0", "theta0.1", "theta1.0", "theta1.1"), + c("theta0.0", "theta0.1", "theta1.0", "theta2.0"), + c("theta0.0", "theta0.1", "theta1.0", "theta2.1"), + c("theta0.0", "theta0.1", "theta1.1", "theta2.0"), + c("theta0.0", "theta0.1", "theta1.1", "theta2.1"), + c("theta0.0", "theta0.1", "theta2.0", "theta2.1"), + c("theta0.0", "theta1.0", "theta2.0", "theta2.1"), + c("theta0.0", "theta0.1", "theta1.0", "theta1.1", "theta2.0"), + c("theta0.0", "theta0.1", "theta1.0", "theta1.1", "theta2.1"), + c("theta0.0", "theta0.1", "theta1.0", "theta2.0", "theta2.1"), + c("theta0.0", "theta0.1", "theta1.1", "theta2.0", "theta2.1")) + allTypes <- c("Intercept", "Linear", "Piecewise level", "Piecewise level", "Piecewise linear", + "Piecewise linear", "Piecewise linear", "Piecewise linear", "Piecewise linear", + "Piecewise level", "Piecewise linear", "Piecewise linear", "Piecewise linear", + "Piecewise linear", "Piecewise linear", "Piecewise linear", "Piecewise linear", + "Piecewise linear", "Piecewise linear", "Piecewise linear", "Piecewise linear", + "Piecewise linear", "Piecewise linear") + if(constr.intercepts){ + allConstr <- list(NULL, + matrix(c(0,1),1,2), + matrix(c(0,1),1,2), + matrix(c(0,1),1,2), + matrix(c(0,1),1,2), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,1,0,0,-1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,0,1,0,0,0,-1,0,0,1,0),3,4, byrow=TRUE), + matrix(c(0,1,0,0,0,0,1,0,0,0,0,1),3,4, byrow=TRUE), + matrix(c(0,1,0,0,0,0,1,0,0,0,0,1),3,4, byrow=TRUE), + matrix(c(0,1,1,0,0,0,-1,0,0,0,0,1),3,4, byrow=TRUE), + matrix(c(0,1,1,0,0,0,-1,0,0,0,0,1),3,4, byrow=TRUE), + matrix(c(0,1,0,0,0,0,1,0,0,0,0,1),3,4, byrow=TRUE), + matrix(c(0,1,0,0,0,0,1,0,0,0,0,1),3,4, byrow=TRUE), + matrix(c(0,1,0,1,0, 0,0,0,-1,0, 0,0,1,0,0, 0,0,0,0,1),4,5, byrow=TRUE), + matrix(c(0,1,0,1,0, 0,0,0,-1,0, 0,0,1,0,0, 0,0,0,0,1),4,5, byrow=TRUE), + matrix(c(0,1,0,0,0, 0,0,1,0,0, 0,0,0,1,0, 0,0,0,0,1),4,5, byrow=TRUE), + matrix(c(0,1,1,0,0, 0,0,-1,0,0, 0,0,0,1,0, 0,0,0,0,1),4,5, byrow=TRUE)) + } + else{ + allConstr <- list(NULL, + matrix(c(0,1),1,2), + NULL, + NULL, + matrix(c(0,1),1,2), + matrix(c(0,1,0),1,3, byrow=TRUE), + matrix(c(0,1,1,0,0,-1),2,3, byrow=TRUE), + matrix(c(0,1,0),1,3, byrow=TRUE), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + NULL, + matrix(c(0,0,1),1,3, byrow=TRUE), + matrix(c(0,0,1),1,3, byrow=TRUE), + matrix(c(0,1,0,1,0,0,0,-1),2,4, byrow=TRUE), + matrix(c(0,1,0,0),1,4, byrow=TRUE), + matrix(c(0,1,0,0,0,0,0,1),2,4, byrow=TRUE), + matrix(c(0,1,1,0,0,0,-1,0),2,4, byrow=TRUE), + matrix(c(0,1,1,0,0,0,-1,0,0,0,0,1),3,4, byrow=TRUE), + matrix(c(0,1,0,0,0,0,0,1),2,4, byrow=TRUE), + matrix(c(0,0,0,1),2,4, byrow=TRUE), + matrix(c(0,1,0,1,0, 0,0,0,-1,0),2,5, byrow=TRUE), + matrix(c(0,1,0,1,0, 0,0,0,-1,0, 0,0,1,0,0),3,5, byrow=TRUE), + matrix(c(0,1,0,0,0, 0,0,0,0,1),2,5, byrow=TRUE), + matrix(c(0,1,1,0,0, 0,0,-1,0,0, 0,0,0,0,1),3,5, byrow=TRUE)) + } + } + else{ + # loss-normal-gain: 6 models + allLabs <- list("theta0.0", + c("theta0.0", "theta0.1"), + c("theta0.0", "theta2.1"), + c("theta0.0", "theta0.1", "theta1.1"), + c("theta0.0", "theta0.1", "theta2.1"), + c("theta0.0", "theta0.1", "theta1.1", "theta2.1")) + allTypes <- c("Intercept", "Linear", "Piecewise linear", "Piecewise linear", "Piecewise linear", "Piecewise linear") + allConstr <- list(NULL, + matrix(c(0,1),1,2), + matrix(c(0,1),1,2), + matrix(c(0,1,1,0,0,-1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,1,0,0,0,-1,0,0,0,0,1),3,4, byrow=TRUE)) + } + } + if(all(val==c(0,1,2))){ + if(!continuous){ + # normal-gain-amp: 31 models + allLabs <- list("theta0.0", + c("theta0.0", "theta0.1"), + c("theta0.0", "theta1.0"), + c("theta0.0", "theta1.1"), + c("theta0.0", "theta2.0"), + c("theta0.0", "theta2.1"), + c("theta0.0", "theta0.1", "theta1.0"), + c("theta0.0", "theta0.1", "theta1.1"), + c("theta0.0", "theta0.1", "theta2.0"), + c("theta0.0", "theta0.1", "theta2.1"), + c("theta0.0", "theta1.0", "theta1.1"), + c("theta0.0", "theta1.0", "theta2.0"), + c("theta0.0", "theta1.0", "theta2.1"), + c("theta0.0", "theta1.1", "theta2.0"), + c("theta0.0", "theta1.1", "theta2.1"), + c("theta0.0", "theta2.0", "theta2.1"), + c("theta0.0", "theta0.1", "theta1.0", "theta1.1"), + c("theta0.0", "theta0.1", "theta1.0", "theta2.0"), + c("theta0.0", "theta0.1", "theta1.0", "theta2.1"), + c("theta0.0", "theta0.1", "theta1.1", "theta2.0"), + c("theta0.0", "theta0.1", "theta1.1", "theta2.1"), + c("theta0.0", "theta0.1", "theta2.0", "theta2.1"), + c("theta0.0", "theta1.0", "theta1.1", "theta2.0"), + c("theta0.0", "theta1.0", "theta1.1", "theta2.1"), + c("theta0.0", "theta1.0", "theta2.0", "theta2.1"), + c("theta0.0", "theta1.1", "theta2.0", "theta2.1"), + c("theta0.0", "theta0.1", "theta1.0", "theta1.1", "theta2.0"), + c("theta0.0", "theta0.1", "theta1.0", "theta1.1", "theta2.1"), + c("theta0.0", "theta0.1", "theta1.0", "theta2.0", "theta2.1"), + c("theta0.0", "theta0.1", "theta1.1", "theta2.0", "theta2.1"), + c("theta0.0", "theta1.0", "theta1.1", "theta2.0", "theta2.1")) + allTypes <- c("Intercept", "Linear", "Piecewise level", "Piecewise linear", "Piecewise level", + "Piecewise linear", "Piecewise linear", "Piecewise linear", "Piecewise linear", + "Piecewise linear", "Piecewise linear", "Piecewise level", "Piecewise linear", + "Piecewise linear", "Piecewise linear", "Piecewise linear", "Piecewise linear", + "Piecewise linear", "Piecewise linear", "Piecewise linear", "Piecewise linear", + "Piecewise linear", "Piecewise linear", "Piecewise linear", "Piecewise linear", + "Piecewise linear", "Piecewise linear", "Piecewise linear", "Piecewise linear", + "Piecewise linear", "Piecewise linear") + if(constr.intercepts){ + allConstr <- list(NULL, + matrix(c(0,1),1,2), + matrix(c(0,1),1,2), + matrix(c(0,1),1,2), + matrix(c(0,1),1,2), + matrix(c(0,1),1,2), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,1,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,0,0,1,0,0,0,0,1),3,4, byrow=TRUE), + matrix(c(0,1,0,0,0,0,1,0,0,0,0,1),3,4, byrow=TRUE), + matrix(c(0,1,0,0,0,0,1,0,0,0,0,1),3,4, byrow=TRUE), + matrix(c(0,1,0,0,0,0,1,0,0,0,0,1),3,4, byrow=TRUE), + matrix(c(0,1,0,0,0,0,1,0,0,0,1,1),3,4, byrow=TRUE), + matrix(c(0,1,0,0,0,0,1,0,0,0,0,1),3,4, byrow=TRUE), + matrix(c(0,1,0,0,0,0,1,0,0,0,0,1),3,4, byrow=TRUE), + matrix(c(0,1,0,0,0,0,1,0,0,0,1,1),3,4, byrow=TRUE), + matrix(c(0,1,0,0,0,0,1,0,0,0,0,1),3,4, byrow=TRUE), + matrix(c(0,1,0,0,0,0,1,0,0,1,0,1),3,4, byrow=TRUE), + matrix(c(0,1,0,0,0, 0,0,1,0,0, 0,0,0,1,0, 0,0,0,0,1),4,5, byrow=TRUE), + matrix(c(0,1,0,0,0, 0,0,1,0,0, 0,0,0,1,0, 0,0,0,1,1),4,5, byrow=TRUE), + matrix(c(0,1,0,0,0, 0,0,1,0,0, 0,0,0,1,0, 0,0,0,0,1),4,5, byrow=TRUE), + matrix(c(0,1,0,0,0, 0,0,1,0,0, 0,0,0,1,0, 0,0,1,0,1),4,5, byrow=TRUE), + matrix(c(0,1,0,0,0, 0,0,1,0,0, 0,0,0,1,0, 0,0,1,0,1),4,5, byrow=TRUE)) + } + else{ + allConstr <- list(NULL, + matrix(c(0,1),1,2), + NULL, + matrix(c(0,1),1,2), + NULL, + matrix(c(0,1),1,2), + matrix(c(0,1,0),1,3, byrow=TRUE), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,0),1,3, byrow=TRUE), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,0,1),1,3, byrow=TRUE), + NULL, + matrix(c(0,0,1),1,3, byrow=TRUE), + matrix(c(0,1,0),1,3, byrow=TRUE), + matrix(c(0,1,0,0,1,1),2,3, byrow=TRUE), + matrix(c(0,0,1),1,3, byrow=TRUE), + matrix(c(0,1,0,0, 0,0,0,1),2,4, byrow=TRUE), + matrix(c(0,1,0,0),1,4, byrow=TRUE), + matrix(c(0,1,0,0, 0,0,0,1),2,4, byrow=TRUE), + matrix(c(0,1,0,0,0,0,1,0),2,4, byrow=TRUE), + matrix(c(0,1,0,0,0,0,1,0,0,0,1,1),3,4, byrow=TRUE), + matrix(c(0,1,0,0,0,0,0,1),2,4, byrow=TRUE), + matrix(c(0,0,1,0),1,4, byrow=TRUE), + matrix(c(0,0,1,0,0,0,1,1),2,4, byrow=TRUE), + matrix(c(0,0,0,1),1,4, byrow=TRUE), + matrix(c(0,1,0,0, 0,1,0,1),2,4, byrow=TRUE), + matrix(c(0,1,0,0,0, 0,0,0,1,0),2,5, byrow=TRUE), + matrix(c(0,1,0,0,0, 0,0,0,1,0, 0,0,0,1,1),3,5, byrow=TRUE), + matrix(c(0,1,0,0,0, 0,0,0,0,1),2,5, byrow=TRUE), + matrix(c(0,1,0,0,0, 0,0,1,0,0, 0,0,1,0,1),3,5, byrow=TRUE), + matrix(c(0,0,1,0,0, 0,0,1,0,1),2,5, byrow=TRUE)) + } + } + else{ + # normal-gain-amp: 8 models + allLabs <- list("theta0.0", + c("theta0.0", "theta0.1"), + c("theta0.0", "theta1.1"), + c("theta0.0", "theta2.1"), + c("theta0.0", "theta0.1", "theta1.1"), + c("theta0.0", "theta0.1", "theta2.1"), + c("theta0.0", "theta1.1", "theta2.1"), + c("theta0.0", "theta0.1", "theta1.1", "theta2.1")) + allTypes <- c("Intercept", "Linear", "Piecewise linear", "Piecewise linear", "Piecewise linear", + "Piecewise linear", "Piecewise linear", "Piecewise linear") + allConstr <- list(NULL, + matrix(c(0,1),1,2), + matrix(c(0,1),1,2), + matrix(c(0,1),1,2), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,1,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,0,0,1,0,0,0,1,1),3,4, byrow=TRUE)) + } + } + } + if(constr.slopes==1){ + if(!continuous){ + # 31 models + allLabs <- list(c("theta0.0"), + c("theta0.0", "theta0.1"), + c("theta0.0", "theta1.0"), + c("theta0.0", "theta1.1"), + c("theta0.0", "theta2.0"), + c("theta0.0", "theta2.1"), + c("theta0.0", "theta0.1", "theta1.0"), + c("theta0.0", "theta0.1", "theta1.1"), + c("theta0.0", "theta0.1", "theta2.0"), + c("theta0.0", "theta0.1", "theta2.1"), + c("theta0.0", "theta1.0", "theta1.1"), + c("theta0.0", "theta1.0", "theta2.0"), + c("theta0.0", "theta1.0", "theta2.1"), + c("theta0.0", "theta1.1", "theta2.0"), + c("theta0.0", "theta1.1", "theta2.1"), + c("theta0.0", "theta2.0", "theta2.1"), + c("theta0.0", "theta0.1", "theta1.0", "theta1.1"), + c("theta0.0", "theta0.1", "theta1.0", "theta2.0"), + c("theta0.0", "theta0.1", "theta1.0", "theta2.1"), + c("theta0.0", "theta0.1", "theta1.1", "theta2.0"), + c("theta0.0", "theta0.1", "theta1.1", "theta2.1"), + c("theta0.0", "theta0.1", "theta2.0", "theta2.1"), + c("theta0.0", "theta1.0", "theta1.1", "theta2.0"), + c("theta0.0", "theta1.0", "theta1.1", "theta2.1"), + c("theta0.0", "theta1.0", "theta2.0", "theta2.1"), + c("theta0.0", "theta1.1", "theta2.0", "theta2.1"), + c("theta0.0", "theta0.1", "theta1.0", "theta1.1", "theta2.0"), + c("theta0.0", "theta0.1", "theta1.0", "theta1.1", "theta2.1"), + c("theta0.0", "theta0.1", "theta1.0", "theta2.0", "theta2.1"), + c("theta0.0", "theta0.1", "theta1.1", "theta2.0", "theta2.1"), + c("theta0.0", "theta1.0", "theta1.1", "theta2.0", "theta2.1")) + allTypes <- c("Intercept", "Linear", "Piecewise level", "Piecewise linear", "Piecewise level", + rep("Piecewise linear", 6), "Piecewise level", rep("Piecewise linear", 19)) + if(object@call.arg$constr){ + if(constr.intercepts){ + allConstr <- list(NULL, + matrix(c(0,1),1,2), + matrix(c(0,1),1,2), + matrix(c(0,1),1,2), + matrix(c(0,1),1,2), + matrix(c(0,1),1,2), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,1,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,1,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,1,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0, 0,1,0,1, 0,0,1,0),3,4, byrow=TRUE), + matrix(c(0,1,0,0, 0,0,1,0, 0,0,0,1),3,4, byrow=TRUE), + matrix(c(0,1,0,0, 0,1,0,1, 0,0,1,0),3,4, byrow=TRUE), + matrix(c(0,1,0,0, 0,1,1,0, 0,0,0,1),3,4, byrow=TRUE), + matrix(c(0,1,0,0, 0,1,1,0, 0,1,1,1),3,4, byrow=TRUE), + matrix(c(0,1,0,0, 0,1,0,1, 0,0,1,0),3,4, byrow=TRUE), + matrix(c(0,1,0,0, 0,0,1,0, 0,0,0,1),3,4, byrow=TRUE), + matrix(c(0,1,0,0, 0,0,1,0, 0,0,1,1),3,4, byrow=TRUE), + matrix(c(0,1,0,0, 0,0,1,0, 0,0,0,1),3,4, byrow=TRUE), + matrix(c(0,1,0,0, 0,1,0,1, 0,0,1,0),3,4, byrow=TRUE), + matrix(c(0,1,0,0,0, 0,1,0,1,0, 0,0,1,0,0, 0,0,0,0,1),4,5, byrow=TRUE), + matrix(c(0,1,0,0,0, 0,1,0,1,0, 0,1,0,1,1, 0,0,1,0,0),4,5, byrow=TRUE), + matrix(c(0,1,0,0,0, 0,1,0,0,1, 0,0,1,0,0, 0,0,0,1,0),4,5, byrow=TRUE), + matrix(c(0,1,0,0,0, 0,1,1,0,0, 0,1,1,0,1, 0,0,0,1,0),4,5, byrow=TRUE), + matrix(c(0,1,0,0,0, 0,0,1,0,0, 0,0,1,0,1, 0,0,0,1,0),4,5, byrow=TRUE)) + } + else{ + allConstr <- list(NULL, + matrix(c(0,1),1,2), + NULL, + matrix(c(0,1),1,2), + NULL, + matrix(c(0,1),1,2), + matrix(c(0,1,0),1,3, byrow=TRUE), + matrix(c(0,1,0,0,1,1),2,3, byrow=TRUE), + matrix(c(0,1,0),1,3, byrow=TRUE), + matrix(c(0,1,0,0,1,1),2,3, byrow=TRUE), + matrix(c(0,0,1),1,3, byrow=TRUE), + NULL, + matrix(c(0,0,1),1,3, byrow=TRUE), + matrix(c(0,1,0),1,3, byrow=TRUE), + matrix(c(0,1,0,0,1,1),2,3, byrow=TRUE), + matrix(c(0,0,1),1,3, byrow=TRUE), + matrix(c(0,1,0,0, 0,1,0,1),2,4, byrow=TRUE), + matrix(c(0,1,0,0),1,4, byrow=TRUE), + matrix(c(0,1,0,0, 0,1,0,1),2,4, byrow=TRUE), + matrix(c(0,1,0,0, 0,1,1,0),2,4, byrow=TRUE), + matrix(c(0,1,0,0, 0,1,1,0, 0,1,1,1),3,4, byrow=TRUE), + matrix(c(0,1,0,0, 0,1,0,1),2,4, byrow=TRUE), + matrix(c(0,0,1,0),1,4, byrow=TRUE), + matrix(c(0,0,1,0, 0,0,1,1),2,4, byrow=TRUE), + matrix(c(0,0,0,1),1,4, byrow=TRUE), + matrix(c(0,1,0,0, 0,1,0,1),2,4, byrow=TRUE), + matrix(c(0,1,0,0,0, 0,1,0,1,0),2,5, byrow=TRUE), + matrix(c(0,1,0,0,0, 0,1,0,1,0, 0,1,0,1,1),3,5, byrow=TRUE), + matrix(c(0,1,0,0,0, 0,1,0,0,1),2,5, byrow=TRUE), + matrix(c(0,1,0,0,0, 0,1,1,0,0, 0,1,1,0,1),3,5, byrow=TRUE), + matrix(c(0,0,1,0,0, 0,0,1,0,1, 0,0,0,1,0),3,5, byrow=TRUE)) + } + } + } + else{ + allLabs <- list(c("theta0.0"), + c("theta0.0", "theta0.1"), + c("theta0.0", "theta1.1"), + c("theta0.0", "theta2.1"), + c("theta0.0", "theta0.1", "theta1.1"), + c("theta0.0", "theta0.1", "theta2.1"), + c("theta0.0", "theta1.1", "theta2.1"), + c("theta0.0", "theta0.1", "theta1.1", "theta2.1")) + if(object@call.arg$constr) allConstr <- list(NULL, + matrix(c(0,1),1,2), + matrix(c(0,1),1,2), + matrix(c(0,1),1,2), + matrix(c(0,1,0,0,1,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,1,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,1,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0, 0,1,1,0, 0,1,1,1),3,4, byrow=TRUE)) + allTypes <- c("Intercept", "Linear", "Piecewise linear", "Piecewise linear", + "Piecewise linear", "Piecewise linear", "Piecewise linear", "Piecewise linear") + } + } + } + if(nval==4){ + if(constr.slopes==2){ + if(!continuous){ + # 95 models + allLabs <- list( + c("theta0.0"), + c("theta0.0", "theta0.1"), + c("theta0.0", "theta1.0"), + c("theta0.0", "theta2.0"), + c("theta0.0", "theta2.1"), + c("theta0.0", "theta3.0"), + c("theta0.0", "theta3.1"), + c("theta0.0", "theta0.1", "theta1.0"), + c("theta0.0", "theta0.1", "theta1.1"), + c("theta0.0", "theta0.1", "theta2.0"), + c("theta0.0", "theta0.1", "theta2.1"), + c("theta0.0", "theta0.1", "theta3.0"), + c("theta0.0", "theta0.1", "theta3.1"), + c("theta0.0", "theta1.0", "theta2.0"), + c("theta0.0", "theta1.0", "theta2.1"), + c("theta0.0", "theta1.0", "theta3.0"), + c("theta0.0", "theta1.0", "theta3.1"), + c("theta0.0", "theta2.0", "theta2.1"), + c("theta0.0", "theta2.0", "theta3.0"), + c("theta0.0", "theta2.0", "theta3.1"), + c("theta0.0", "theta2.1", "theta3.0"), + c("theta0.0", "theta2.1", "theta3.1"), + c("theta0.0", "theta3.0", "theta3.1"), + c("theta0.0", "theta0.1", "theta1.0", "theta1.1"), + c("theta0.0", "theta0.1", "theta1.0", "theta2.0"), + c("theta0.0", "theta0.1", "theta1.0", "theta2.1"), + c("theta0.0", "theta0.1", "theta1.0", "theta3.0"), + c("theta0.0", "theta0.1", "theta1.0", "theta3.1"), + c("theta0.0", "theta0.1", "theta1.1", "theta2.0"), + c("theta0.0", "theta0.1", "theta1.1", "theta2.1"), + c("theta0.0", "theta0.1", "theta1.1", "theta3.0"), + c("theta0.0", "theta0.1", "theta1.1", "theta3.1"), + c("theta0.0", "theta0.1", "theta2.0", "theta2.1"), + c("theta0.0", "theta0.1", "theta2.0", "theta3.0"), + c("theta0.0", "theta0.1", "theta2.0", "theta3.1"), + c("theta0.0", "theta0.1", "theta2.1", "theta3.0"), + c("theta0.0", "theta0.1", "theta2.1", "theta3.1"), + c("theta0.0", "theta0.1", "theta3.0", "theta3.1"), + c("theta0.0", "theta1.0", "theta2.0", "theta2.1"), + c("theta0.0", "theta1.0", "theta2.0", "theta3.0"), + c("theta0.0", "theta1.0", "theta2.0", "theta3.1"), + c("theta0.0", "theta1.0", "theta2.1", "theta3.0"), + c("theta0.0", "theta1.0", "theta2.1", "theta3.1"), + c("theta0.0", "theta1.0", "theta3.0", "theta3.1"), + c("theta0.0", "theta2.0", "theta2.1", "theta3.0"), + c("theta0.0", "theta2.0", "theta2.1", "theta3.1"), + c("theta0.0", "theta2.0", "theta3.0", "theta3.1"), + c("theta0.0", "theta2.1", "theta3.0", "theta3.1"), + c("theta0.0", "theta0.1", "theta1.0", "theta1.1", "theta2.0"), + c("theta0.0", "theta0.1", "theta1.0", "theta1.1", "theta2.1"), + c("theta0.0", "theta0.1", "theta1.0", "theta1.1", "theta3.0"), + c("theta0.0", "theta0.1", "theta1.0", "theta1.1", "theta3.1"), + c("theta0.0", "theta0.1", "theta1.0", "theta2.0", "theta2.1"), + c("theta0.0", "theta0.1", "theta1.0", "theta2.0", "theta3.0"), + c("theta0.0", "theta0.1", "theta1.0", "theta2.0", "theta3.1"), + c("theta0.0", "theta0.1", "theta1.0", "theta2.1", "theta3.0"), + c("theta0.0", "theta0.1", "theta1.0", "theta2.1", "theta3.1"), + c("theta0.0", "theta0.1", "theta1.0", "theta3.0", "theta3.1"), + c("theta0.0", "theta0.1", "theta1.1", "theta2.0", "theta2.1"), + c("theta0.0", "theta0.1", "theta1.1", "theta2.0", "theta3.0"), + c("theta0.0", "theta0.1", "theta1.1", "theta2.0", "theta3.1"), + c("theta0.0", "theta0.1", "theta1.1", "theta2.1", "theta3.0"), + c("theta0.0", "theta0.1", "theta1.1", "theta2.1", "theta3.1"), + c("theta0.0", "theta0.1", "theta1.1", "theta3.0", "theta3.1"), + c("theta0.0", "theta0.1", "theta2.0", "theta2.1", "theta3.0"), + c("theta0.0", "theta0.1", "theta2.0", "theta2.1", "theta3.1"), + c("theta0.0", "theta0.1", "theta2.0", "theta3.0", "theta3.1"), + c("theta0.0", "theta0.1", "theta2.1", "theta3.0", "theta3.1"), + c("theta0.0", "theta1.0", "theta2.0", "theta2.1", "theta3.0"), + c("theta0.0", "theta1.0", "theta2.0", "theta2.1", "theta3.1"), + c("theta0.0", "theta1.0", "theta2.0", "theta3.0", "theta3.1"), + c("theta0.0", "theta1.0", "theta2.1", "theta3.0", "theta3.1"), + c("theta0.0", "theta2.0", "theta2.1", "theta3.0", "theta3.1"), + c("theta0.0", "theta0.1", "theta1.0", "theta1.1", "theta2.0", "theta2.1"), + c("theta0.0", "theta0.1", "theta1.0", "theta1.1", "theta2.0", "theta3.0"), + c("theta0.0", "theta0.1", "theta1.0", "theta1.1", "theta2.0", "theta3.1"), + c("theta0.0", "theta0.1", "theta1.0", "theta1.1", "theta2.1", "theta3.0"), + c("theta0.0", "theta0.1", "theta1.0", "theta1.1", "theta2.1", "theta3.1"), + c("theta0.0", "theta0.1", "theta1.0", "theta1.1", "theta3.0", "theta3.1"), + c("theta0.0", "theta0.1", "theta1.0", "theta2.0", "theta2.1", "theta3.0"), + c("theta0.0", "theta0.1", "theta1.0", "theta2.0", "theta2.1", "theta3.1"), + c("theta0.0", "theta0.1", "theta1.0", "theta2.0", "theta3.0", "theta3.1"), + c("theta0.0", "theta0.1", "theta1.0", "theta2.1", "theta3.0", "theta3.1"), + c("theta0.0", "theta0.1", "theta1.1", "theta2.0", "theta2.1", "theta3.0"), + c("theta0.0", "theta0.1", "theta1.1", "theta2.0", "theta2.1", "theta3.1"), + c("theta0.0", "theta0.1", "theta1.1", "theta2.0", "theta3.0", "theta3.1"), + c("theta0.0", "theta0.1", "theta1.1", "theta2.1", "theta3.0", "theta3.1"), + c("theta0.0", "theta0.1", "theta2.0", "theta2.1", "theta3.0", "theta3.1"), + c("theta0.0", "theta1.0", "theta2.0", "theta2.1", "theta3.0", "theta3.1"), + c("theta0.0", "theta0.1", "theta1.0", "theta1.1", "theta2.0", "theta2.1", "theta3.0"), + c("theta0.0", "theta0.1", "theta1.0", "theta1.1", "theta2.0", "theta2.1", "theta3.1"), + c("theta0.0", "theta0.1", "theta1.0", "theta1.1", "theta2.0", "theta3.0", "theta3.1"), + c("theta0.0", "theta0.1", "theta1.0", "theta1.1", "theta2.1", "theta3.0", "theta3.1"), + c("theta0.0", "theta0.1", "theta1.0", "theta2.0", "theta2.1", "theta3.0", "theta3.1"), + c("theta0.0", "theta0.1", "theta1.1", "theta2.0", "theta2.1", "theta3.0", "theta3.1")) + allTypes <- c("Intercept", "Linear", + rep("Piecewise level",2), + "Piecewise linear", + "Piecewise level", + rep("Piecewise linear",7), + "Piecewise level", + "Piecewise linear", + "Piecewise level", + rep("Piecewise linear",2), + "Piecewise level", + rep("Piecewise linear",20), + "Piecewise level", + rep("Piecewise linear",55)) + if(constr.intercepts){ + allConstr <- list( + NULL, + matrix(c(0,1),1,2), + matrix(c(0,1),1,2), + matrix(c(0,1),1,2), + matrix(c(0,1),1,2), + matrix(c(0,1),1,2), + matrix(c(0,1),1,2), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,1,0,0,-1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,1,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,0,1, 0,0,1,0, 0,0,0,-1),3,4, byrow=TRUE), + matrix(c(0,1,0,0, 0,0,1,0, 0,0,0,1),3,4, byrow=TRUE), + matrix(c(0,1,0,0, 0,0,1,0, 0,0,0,1),3,4, byrow=TRUE), + matrix(c(0,1,0,0, 0,0,1,0, 0,0,0,1),3,4, byrow=TRUE), + matrix(c(0,1,0,0, 0,0,1,0, 0,0,0,1),3,4, byrow=TRUE), + matrix(c(0,1,1,0, 0,0,-1,0, 0,0,0,1),3,4, byrow=TRUE), + matrix(c(0,1,1,0, 0,0,-1,0, 0,0,0,1),3,4, byrow=TRUE), + matrix(c(0,1,1,0, 0,0,-1,0, 0,0,0,1),3,4, byrow=TRUE), + matrix(c(0,1,1,0, 0,0,-1,0, 0,0,0,1),3,4, byrow=TRUE), + matrix(c(0,1,0,0, 0,0,1,0, 0,0,0,1),3,4, byrow=TRUE), + matrix(c(0,1,0,0, 0,0,1,0, 0,0,0,1),3,4, byrow=TRUE), + matrix(c(0,1,0,0, 0,0,1,0, 0,0,0,1),3,4, byrow=TRUE), + matrix(c(0,1,0,0, 0,0,1,0, 0,0,0,1),3,4, byrow=TRUE), + matrix(c(0,1,0,0, 0,0,1,0, 0,0,1,1),3,4, byrow=TRUE), + matrix(c(0,1,0,0, 0,0,1,0, 0,0,0,1),3,4, byrow=TRUE), + matrix(c(0,1,0,0, 0,0,1,0, 0,0,0,1),3,4, byrow=TRUE), + matrix(c(0,1,0,0, 0,0,1,0, 0,0,0,1),3,4, byrow=TRUE), + matrix(c(0,1,0,0, 0,0,1,0, 0,0,0,1),3,4, byrow=TRUE), + matrix(c(0,1,0,0, 0,0,1,0, 0,0,0,1),3,4, byrow=TRUE), + matrix(c(0,1,0,0, 0,0,1,0, 0,0,1,1),3,4, byrow=TRUE), + matrix(c(0,1,0,0, 0,0,1,0, 0,0,0,1),3,4, byrow=TRUE), + matrix(c(0,1,0,0, 0,0,1,0, 0,0,0,1),3,4, byrow=TRUE), + matrix(c(0,1,0,0, 0,0,1,0, 0,0,1,1),3,4, byrow=TRUE), + matrix(c(0,1,0,0, 0,0,1,0, 0,0,0,1),3,4, byrow=TRUE), + matrix(c(0,1,0,0, 0,0,1,0, 0,0,0,1),3,4, byrow=TRUE), + matrix(c(0,1,0,1,0, 0,0,1,0,0, 0,0,0,-1,0, 0,0,0,0,1),4,5, byrow=TRUE), + matrix(c(0,1,0,1,0, 0,0,1,0,0, 0,0,0,-1,0, 0,0,0,0,1),4,5, byrow=TRUE), + matrix(c(0,1,0,1,0, 0,0,1,0,0, 0,0,0,-1,0, 0,0,0,0,1),4,5, byrow=TRUE), + matrix(c(0,1,0,1,0, 0,0,1,0,0, 0,0,0,-1,0, 0,0,0,0,1),4,5, byrow=TRUE), + matrix(c(0,1,0,0,0, 0,0,1,0,0, 0,0,0,1,0, 0,0,0,0,1),4,5, byrow=TRUE), + matrix(c(0,1,0,0,0, 0,0,1,0,0, 0,0,0,1,0, 0,0,0,0,1),4,5, byrow=TRUE), + matrix(c(0,1,0,0,0, 0,0,1,0,0, 0,0,0,1,0, 0,0,0,0,1),4,5, byrow=TRUE), + matrix(c(0,1,0,0,0, 0,0,1,0,0, 0,0,0,1,0, 0,0,0,0,1),4,5, byrow=TRUE), + matrix(c(0,1,0,0,0, 0,0,1,0,0, 0,0,0,1,0, 0,0,0,1,1),4,5, byrow=TRUE), + matrix(c(0,1,0,0,0, 0,0,1,0,0, 0,0,0,1,0, 0,0,0,0,1),4,5, byrow=TRUE), + matrix(c(0,1,1,0,0, 0,0,-1,0,0, 0,0,0,1,0, 0,0,0,0,1),4,5, byrow=TRUE), + matrix(c(0,1,1,0,0, 0,0,-1,0,0, 0,0,0,1,0, 0,0,0,0,1),4,5, byrow=TRUE), + matrix(c(0,1,1,0,0, 0,0,-1,0,0, 0,0,0,1,0, 0,0,0,0,1),4,5, byrow=TRUE), + matrix(c(0,1,1,0,0, 0,0,-1,0,0, 0,0,0,1,0, 0,0,0,0,1),4,5, byrow=TRUE), + matrix(c(0,1,1,0,0, 0,0,-1,0,0, 0,0,0,1,0, 0,0,0,1,1),4,5, byrow=TRUE), + matrix(c(0,1,1,0,0, 0,0,-1,0,0, 0,0,0,1,0, 0,0,0,0,1),4,5, byrow=TRUE), + matrix(c(0,1,0,0,0, 0,0,1,0,0, 0,0,0,1,0, 0,0,0,0,1),4,5, byrow=TRUE), + matrix(c(0,1,0,0,0, 0,0,1,0,0, 0,0,0,1,0, 0,0,0,1,1),4,5, byrow=TRUE), + matrix(c(0,1,0,0,0, 0,0,1,0,0, 0,0,0,1,0, 0,0,0,0,1),4,5, byrow=TRUE), + matrix(c(0,1,0,0,0, 0,0,1,0,0, 0,0,0,1,0, 0,0,1,0,1),4,5, byrow=TRUE), + matrix(c(0,1,0,0,0, 0,0,1,0,0, 0,0,0,1,0, 0,0,0,0,1),4,5, byrow=TRUE), + matrix(c(0,1,0,0,0, 0,0,1,0,0, 0,0,0,1,0, 0,0,0,1,1),4,5, byrow=TRUE), + matrix(c(0,1,0,0,0, 0,0,1,0,0, 0,0,0,1,0, 0,0,0,0,1),4,5, byrow=TRUE), + matrix(c(0,1,0,0,0, 0,0,1,0,0, 0,0,0,1,0, 0,0,1,0,1),4,5, byrow=TRUE), + matrix(c(0,1,0,0,0, 0,0,1,0,0, 0,0,0,1,0, 0,0,1,0,1),4,5, byrow=TRUE), + matrix(c(0,1,0,1,0,0, 0,0,1,0,0,0, 0,0,0,-1,0,0, 0,0,0,0,1,0, 0,0,0,0,0,1),5,6, byrow=TRUE), + matrix(c(0,1,0,1,0,0, 0,0,1,0,0,0, 0,0,0,-1,0,0, 0,0,0,0,1,0, 0,0,0,0,0,1),5,6, byrow=TRUE), + matrix(c(0,1,0,1,0,0, 0,0,1,0,0,0, 0,0,0,-1,0,0, 0,0,0,0,1,0, 0,0,0,0,0,1),5,6, byrow=TRUE), + matrix(c(0,1,0,1,0,0, 0,0,1,0,0,0, 0,0,0,-1,0,0, 0,0,0,0,1,0, 0,0,0,0,0,1),5,6, byrow=TRUE), + matrix(c(0,1,0,1,0,0, 0,0,1,0,0,0, 0,0,0,-1,0,0, 0,0,0,0,1,0, 0,0,0,0,1,1),5,6, byrow=TRUE), + matrix(c(0,1,0,1,0,0, 0,0,1,0,0,0, 0,0,0,-1,0,0, 0,0,0,0,1,0, 0,0,0,0,0,1),5,6, byrow=TRUE), + matrix(c(0,1,0,0,0,0, 0,0,1,0,0,0, 0,0,0,1,0,0, 0,0,0,0,1,0, 0,0,0,0,0,1),5,6, byrow=TRUE), + matrix(c(0,1,0,0,0,0, 0,0,1,0,0,0, 0,0,0,1,0,0, 0,0,0,0,1,0, 0,0,0,0,1,1),5,6, byrow=TRUE), + matrix(c(0,1,0,0,0,0, 0,0,1,0,0,0, 0,0,0,1,0,0, 0,0,0,0,1,0, 0,0,0,0,0,1),5,6, byrow=TRUE), + matrix(c(0,1,0,0,0,0, 0,0,1,0,0,0, 0,0,0,1,0,0, 0,0,0,0,1,0, 0,0,0,1,0,1),5,6, byrow=TRUE), + matrix(c(0,1,1,0,0,0, 0,0,-1,0,0,0, 0,0,0,1,0,0, 0,0,0,0,1,0, 0,0,0,0,0,1),5,6, byrow=TRUE), + matrix(c(0,1,1,0,0,0, 0,0,-1,0,0,0, 0,0,0,1,0,0, 0,0,0,0,1,0, 0,0,0,0,1,1),5,6, byrow=TRUE), + matrix(c(0,1,1,0,0,0, 0,0,-1,0,0,0, 0,0,0,1,0,0, 0,0,0,0,1,0, 0,0,0,0,0,1),5,6, byrow=TRUE), + matrix(c(0,1,1,0,0,0, 0,0,-1,0,0,0, 0,0,0,1,0,0, 0,0,0,0,1,0, 0,0,0,1,0,1),5,6, byrow=TRUE), + matrix(c(0,1,0,0,0,0, 0,0,1,0,0,0, 0,0,0,1,0,0, 0,0,0,0,1,0, 0,0,0,1,0,1),5,6, byrow=TRUE), + matrix(c(0,1,0,0,0,0, 0,0,1,0,0,0, 0,0,0,1,0,0, 0,0,0,0,1,0, 0,0,0,1,0,1),5,6, byrow=TRUE), + matrix(c(0,1,0,1,0,0,0, 0,0,1,0,0,0,0, 0,0,0,-1,0,0,0, 0,0,0,0,1,0,0, 0,0,0,0,0,1,0, 0,0,0,0,0,0,1),6,7, byrow=TRUE), + matrix(c(0,1,0,1,0,0,0, 0,0,1,0,0,0,0, 0,0,0,-1,0,0,0, 0,0,0,0,1,0,0, 0,0,0,0,0,1,0, 0,0,0,0,0,1,1),6,7, byrow=TRUE), + matrix(c(0,1,0,1,0,0,0, 0,0,1,0,0,0,0, 0,0,0,-1,0,0,0, 0,0,0,0,1,0,0, 0,0,0,0,0,1,0, 0,0,0,0,0,0,1),6,7, byrow=TRUE), + matrix(c(0,1,0,1,0,0,0, 0,0,1,0,0,0,0, 0,0,0,-1,0,0,0, 0,0,0,0,1,0,0, 0,0,0,0,0,1,0, 0,0,0,0,1,0,1),6,7, byrow=TRUE), + matrix(c(0,1,0,0,0,0,0, 0,0,1,0,0,0,0, 0,0,0,1,0,0,0, 0,0,0,0,1,0,0, 0,0,0,0,0,1,0, 0,0,0,0,1,0,1),6,7, byrow=TRUE), + matrix(c(0,1,1,0,0,0,0, 0,0,-1,0,0,0,0, 0,0,0,1,0,0,0, 0,0,0,0,1,0,0, 0,0,0,0,0,1,0, 0,0,0,0,1,0,1),6,7, byrow=TRUE)) + } + else{ + allConstr <- list( + NULL, + matrix(c(0,1),1,2), + NULL, + NULL, + matrix(c(0,1),1,2), + NULL, + matrix(c(0,1),1,2), + matrix(c(0,1,0),1,3, byrow=TRUE), + matrix(c(0,1,1,0,0,-1),2,3, byrow=TRUE), + matrix(c(0,1,0),1,3, byrow=TRUE), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,0),1,3, byrow=TRUE), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + NULL, + matrix(c(0,0,1),1,3, byrow=TRUE), + NULL, + matrix(c(0,0,1),1,3, byrow=TRUE), + matrix(c(0,0,1),1,3, byrow=TRUE), + NULL, + matrix(c(0,0,1),1,3, byrow=TRUE), + matrix(c(0,1,0),1,3, byrow=TRUE), + matrix(c(0,1,0,0,1,1),2,3, byrow=TRUE), + matrix(c(0,0,1),1,3, byrow=TRUE), + matrix(c(0,1,0,1, 0,0,0,-1),2,4, byrow=TRUE), + matrix(c(0,1,0,0),1,4, byrow=TRUE), + matrix(c(0,1,0,0, 0,0,0,1),2,4, byrow=TRUE), + matrix(c(0,1,0,0),1,4, byrow=TRUE), + matrix(c(0,1,0,0, 0,0,0,1),2,4, byrow=TRUE), + matrix(c(0,1,1,0, 0,0,-1,0),2,4, byrow=TRUE), + matrix(c(0,1,1,0, 0,0,-1,0, 0,0,0,1),3,4, byrow=TRUE), + matrix(c(0,1,1,0, 0,0,-1,0),2,4, byrow=TRUE), + matrix(c(0,1,1,0, 0,0,-1,0, 0,0,0,1),3,4, byrow=TRUE), + matrix(c(0,1,0,0, 0,0,0,1),2,4, byrow=TRUE), + matrix(c(0,1,0,0),1,4, byrow=TRUE), + matrix(c(0,1,0,0, 0,0,0,1),2,4, byrow=TRUE), + matrix(c(0,1,0,0, 0,0,1,0),2,4, byrow=TRUE), + matrix(c(0,1,0,0, 0,0,1,0, 0,0,1,1),3,4, byrow=TRUE), + matrix(c(0,1,0,0, 0,0,0,1),2,4, byrow=TRUE), + matrix(c(0,0,0,1),1,4, byrow=TRUE), + NULL, + matrix(c(0,0,0,1),1,4, byrow=TRUE), + matrix(c(0,0,1,0),1,4, byrow=TRUE), + matrix(c(0,0,1,0, 0,0,1,1),2,4, byrow=TRUE), + matrix(c(0,0,0,1),2,4, byrow=TRUE), + matrix(c(0,0,1,0),1,4, byrow=TRUE), + matrix(c(0,0,1,0, 0,0,1,1),2,4, byrow=TRUE), + matrix(c(0,0,0,1),1,4, byrow=TRUE), + matrix(c(0,1,0,0, 0,0,0,1),2,4, byrow=TRUE), + matrix(c(0,1,0,1,0, 0,0,0,-1,0),2,5, byrow=TRUE), + matrix(c(0,1,0,1,0, 0,0,0,-1,0, 0,0,0,0,1),3,5, byrow=TRUE), + matrix(c(0,1,0,1,0, 0,0,0,-1,0),2,5, byrow=TRUE), + matrix(c(0,1,0,1,0, 0,0,0,-1,0, 0,0,0,0,1),3,5, byrow=TRUE), + matrix(c(0,1,0,0,0, 0,0,0,0,1),2,5, byrow=TRUE), + matrix(c(0,1,0,0,0),1,5, byrow=TRUE), + matrix(c(0,1,0,0,0, 0,0,0,0,1),2,5, byrow=TRUE), + matrix(c(0,1,0,0,0, 0,0,0,1,0),2,5, byrow=TRUE), + matrix(c(0,1,0,0,0, 0,0,0,1,0, 0,0,0,1,1),3,5, byrow=TRUE), + matrix(c(0,1,0,0,0, 0,0,0,0,1),2,5, byrow=TRUE), + matrix(c(0,1,1,0,0, 0,0,-1,0,0, 0,0,0,0,1),3,5, byrow=TRUE), + matrix(c(0,1,1,0,0, 0,0,-1,0,0),2,5, byrow=TRUE), + matrix(c(0,1,1,0,0, 0,0,-1,0,0, 0,0,0,0,1),3,5, byrow=TRUE), + matrix(c(0,1,1,0,0, 0,0,-1,0,0, 0,0,0,1,0),3,5, byrow=TRUE), + matrix(c(0,1,1,0,0, 0,0,-1,0,0, 0,0,0,1,0, 0,0,0,1,1),4,5, byrow=TRUE), + matrix(c(0,1,1,0,0, 0,0,-1,0,0, 0,0,0,0,1),3,5, byrow=TRUE), + matrix(c(0,1,0,0,0, 0,0,0,1,0),2,5, byrow=TRUE), + matrix(c(0,1,0,0,0, 0,0,0,1,0, 0,0,0,1,1),3,5, byrow=TRUE), + matrix(c(0,1,0,0,0, 0,0,0,0,1),2,5, byrow=TRUE), + matrix(c(0,1,0,0,0, 0,0,1,0,0, 0,0,1,0,1),3,5, byrow=TRUE), + matrix(c(0,0,0,1,0),1,5, byrow=TRUE), + matrix(c(0,0,0,1,0, 0,0,0,1,1),2,5, byrow=TRUE), + matrix(c(0,0,0,0,1),1,5, byrow=TRUE), + matrix(c(0,0,1,0,0, 0,0,1,0,1),2,5, byrow=TRUE), + matrix(c(0,0,1,0,0, 0,0,1,0,1),2,5, byrow=TRUE), + matrix(c(0,1,0,1,0,0, 0,0,0,-1,0,0, 0,0,0,0,0,1),3,6, byrow=TRUE), + matrix(c(0,1,0,1,0,0, 0,0,0,-1,0,0),2,6, byrow=TRUE), + matrix(c(0,1,0,1,0,0, 0,0,0,-1,0,0, 0,0,0,0,0,1),3,6, byrow=TRUE), + matrix(c(0,1,0,1,0,0, 0,0,0,-1,0,0, 0,0,0,0,1,0),3,6, byrow=TRUE), + matrix(c(0,1,0,1,0,0, 0,0,0,-1,0,0, 0,0,0,0,1,0, 0,0,0,0,1,1),4,6, byrow=TRUE), + matrix(c(0,1,0,1,0,0, 0,0,0,-1,0,0, 0,0,0,0,0,1),3,6, byrow=TRUE), + matrix(c(0,1,0,0,0,0, 0,0,0,0,1,0),2,6, byrow=TRUE), + matrix(c(0,1,0,0,0,0, 0,0,0,0,1,0, 0,0,0,0,1,1),3,6, byrow=TRUE), + matrix(c(0,1,0,0,0,0, 0,0,0,0,0,1),2,6, byrow=TRUE), + matrix(c(0,1,0,0,0,0, 0,0,0,1,0,0, 0,0,0,1,0,1),3,6, byrow=TRUE), + matrix(c(0,1,1,0,0,0, 0,0,-1,0,0,0, 0,0,0,0,1,0),3,6, byrow=TRUE), + matrix(c(0,1,1,0,0,0, 0,0,-1,0,0,0, 0,0,0,0,1,0, 0,0,0,0,1,1),4,6, byrow=TRUE), + matrix(c(0,1,1,0,0,0, 0,0,-1,0,0,0, 0,0,0,0,0,1),3,6, byrow=TRUE), + matrix(c(0,1,1,0,0,0, 0,0,-1,0,0,0, 0,0,0,1,0,0, 0,0,0,1,0,1),4,6, byrow=TRUE), + matrix(c(0,1,0,0,0,0, 0,0,0,1,0,0, 0,0,0,1,0,1),3,6, byrow=TRUE), + matrix(c(0,0,0,1,0,0, 0,0,0,1,0,1),2,6, byrow=TRUE), + matrix(c(0,1,0,1,0,0,0, 0,0,0,-1,0,0,0, 0,0,0,0,0,1,0),3,7, byrow=TRUE), + matrix(c(0,1,0,1,0,0,0, 0,0,0,-1,0,0,0, 0,0,0,0,0,1,0, 0,0,0,0,0,1,1),4,7, byrow=TRUE), + matrix(c(0,1,0,1,0,0,0, 0,0,0,-1,0,0,0, 0,0,0,0,0,0,1),3,7, byrow=TRUE), + matrix(c(0,1,0,1,0,0,0, 0,0,0,-1,0,0,0, 0,0,0,0,1,0,0, 0,0,0,0,1,0,1),4,7, byrow=TRUE), + matrix(c(0,1,0,0,0,0,0, 0,0,0,0,1,0,0, 0,0,0,0,1,0,1),3,7, byrow=TRUE), + matrix(c(0,1,1,0,0,0,0, 0,0,-1,0,0,0,0, 0,0,0,0,1,0,0, 0,0,0,0,1,0,1),4,7, byrow=TRUE)) + } + } + else{ + # 11 models + allLabs <- list( + "theta0.0", + c("theta0.0", "theta0.1"), + c("theta0.0", "theta2.1"), + c("theta0.0", "theta3.1"), + c("theta0.0", "theta0.1", "theta1.1"), + c("theta0.0", "theta0.1", "theta2.1"), + c("theta0.0", "theta0.1", "theta3.1"), + c("theta0.0", "theta2.1", "theta3.1"), + c("theta0.0", "theta0.1", "theta1.1", "theta2.1"), + c("theta0.0", "theta0.1", "theta1.1", "theta3.1"), + c("theta0.0", "theta0.1", "theta2.1", "theta3.1")) + allConstr <- list( + NULL, + matrix(c(0,1),1,2), + matrix(c(0,1),1,2), + matrix(c(0,1),1,2), + matrix(c(0,1,1,0,0,-1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0,1,1),2,3, byrow=TRUE), + matrix(c(0,1,1,0, 0,0,-1,0, 0,0,0,1),3,4, byrow=TRUE), + matrix(c(0,1,1,0, 0,0,-1,0, 0,0,0,1),3,4, byrow=TRUE), + matrix(c(0,1,0,0, 0,0,1,0, 0,0,1,1),3,4, byrow=TRUE)) + allTypes <- c("Intercept", "Linear", rep("Piecewise linear",9)) + } + } + if(constr.slopes==1){ + constrmat <- t(object@QP$Amat) + if(!continuous){ + mylab <- c("theta0.0", "theta0.1", "theta1.0", "theta1.1", "theta2.0", "theta2.1", "theta3.0", "theta3.1") + searchAll <- list(NULL,t(combn(1:7,1))+1,t(combn(1:7,2))+1,t(combn(1:7,3))+1,t(combn(1:7,4))+1,t(combn(1:7,5))+1,t(combn(1:7,6))+1) + + nbmodels <- sum(unlist(lapply(searchAll,nrow)))+1 + ct <- 1 + allLabs <- allConstr <- rep(list(NULL),nbmodels) + for(i in 1:length(searchAll)){ + if(i==1){ + allLabs[[ct]] <- "theta0.0" + ct <- ct + 1 + } + else{ + for(j in 1:nrow(searchAll[[i]])){ + tokeep <- searchAll[[i]][j,] + allLabs[[ct]] <- mylab[c(1,tokeep)] + if(object@call.arg$constr){ + if(length(tokeep)==1) allConstr[[ct]] <- matrix(c(0,1),1,2) + else{ + tp <- constrmat[,c(1,tokeep)] + tp <- tp[rowSums(tp)!=0,] + if(!is.matrix(tp)) tp <- matrix(tp, 1:length(tp), byrow=TRUE) + else{ + tp <- tp[!duplicated(tp),] + if(!is.matrix(tp)) tp <- matrix(tp, 1:length(tp), byrow=TRUE) + allConstr[[ct]] <- tp + } + } + } + ct <- ct + 1 + } + } + } + allTypes <- c("Intercept", "Linear", + "Piecewise level", + "Piecewise linear", + "Piecewise level", + "Piecewise linear", + "Piecewise level", + rep("Piecewise linear",8), + "Piecewise level", + "Piecewise linear", + "Piecewise level", + rep("Piecewise linear",6), + "Piecewise level", + rep("Piecewise linear",24), + "Piecewise level", + rep("Piecewise linear",77)) + } + else{ + allLabs <- list( + "theta0.0", + c("theta0.0", "theta0.1"), + c("theta0.0", "theta1.1"), + c("theta0.0", "theta2.1"), + c("theta0.0", "theta3.1"), + c("theta0.0", "theta0.1", "theta1.1"), + c("theta0.0", "theta0.1", "theta2.1"), + c("theta0.0", "theta0.1", "theta3.1"), + c("theta0.0", "theta1.1", "theta2.1"), + c("theta0.0", "theta1.1", "theta3.1"), + c("theta0.0", "theta2.1", "theta3.1"), + c("theta0.0", "theta0.1", "theta1.1", "theta2.1"), + c("theta0.0", "theta0.1", "theta1.1", "theta3.1"), + c("theta0.0", "theta0.1", "theta2.1", "theta3.1"), + c("theta0.0", "theta1.1", "theta2.1", "theta3.1")) + if(object@call.arg$constr) allConstr <- list( + NULL, + matrix(c(0,1),1,2, byrow=TRUE), + matrix(c(0,1),1,2, byrow=TRUE), + matrix(c(0,1),1,2, byrow=TRUE), + matrix(c(0,1),1,2, byrow=TRUE), + matrix(c(0,1,0, 0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,0, 0,1,1),2,3, byrow=TRUE), + matrix(c(0,1,0, 0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,0, 0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,0, 0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,0, 0,0,1),2,3, byrow=TRUE), + matrix(c(0,1,0,0, 0,0,1,0, 0,1,0,1),3,4, byrow=TRUE), + matrix(c(0,1,0,0, 0,0,1,0, 0,0,0,1),3,4, byrow=TRUE), + matrix(c(0,1,0,0, 0,1,1,0, 0,0,0,1),3,4, byrow=TRUE), + matrix(c(0,1,0,0, 0,0,1,0, 0,0,0,1),3,4, byrow=TRUE)) + allTypes <- c("Intercept", "Linear", rep("Piecewise linear", 13)) + } + } + } + f <- function(labs, x){ + if(length(labs)==1){ + m <- matrix(1,nrow(x),1) + colnames(m) <- "theta0.0" + } + else{ + m <- x[,colnames(x)%in%labs] + } + m + } + allMats <- lapply(allLabs, f, x=object@X) + return(list(allLabs=allLabs, allConstr=allConstr, allTypes=allTypes, allMats=allMats)) +} + + diff --git a/R/plrs.test.r b/R/plrs.test.r new file mode 100644 index 0000000..55012d8 --- /dev/null +++ b/R/plrs.test.r @@ -0,0 +1,103 @@ +# Likelihood ratio test for (constrained) plrs models + +# Unconstrained: +# H0: Intercept model +# H1: Full model + +# Constrained: +# H0: All constraints are actives (=) +# H1: At least one constraint is strict (>) + +# Authors: Gwenael G.R. Leday based on Ulrike Gromping code from package ic.infer + +plrs.test <- function(object, alpha=0.05){ + + if(class(object)!="plrs") stop("An object of class \"plrs\" is required") + if(object@selected){ + obj <- plrs(expr=object@mdata$mexpr, cghseg=object@mdata$mcghseg, cghcall=object@mdata$mcghcall, + probloss = object@mdata$mprobloss, + probnorm = object@mdata$mprobnorm, + probgain = object@mdata$mprobgain, + probamp = object@mdata$mprobamp, + knots = NULL, + continuous = object@call.arg$continuous, + constr = object@call.arg$constr, + constr.slopes = object@call.arg$constr.slopes, + constr.intercepts = object@call.arg$constr.intercepts) + }else{ + obj <- object + } + if(length(coef(obj))!=1){ + if(obj@call.arg$constr){ # Test whether all inequalities are equalities + # Aknowledgement: Taken from package ic.infer + if(obj@QP$meq == nrow(t(obj@QP$Amat))){ + stop("Test not possible: only equality constraints") + } + + library(mvtnorm) + + # Unconstrained model + unconstr <- .plrs.fit(X=obj@X, matconstr=NULL, mytype=obj@type, modelFull=obj, callArg=obj@call.arg) + cov.mat <- unconstr@QP$vcov/unconstr@QP$S2 + Dmat <- obj@QP$Dmat + dvec <- as.vector(obj@QP$dvec) + uiw <- t(obj@QP$Amat) + bvec <- obj@QP$bvec + meq <- obj@QP$meq + + # If intercepts are not constrained set them to 0 + if(!obj@call.arg$constr.intercepts & !obj@call.arg$continuous){ + para <- c(3,5,7)[c(3,5,7) < ncol(model.matrix(obj))] + mat <- matrix(0,length(para),ncol(model.matrix(obj))) + mat[1:length(para),para] <- 1 + uiw <- rbind(mat,uiw) + bvec <- c(bvec,rep(0,nrow(mat))) + meq <- meq + length(para) + } + + # Weights + if(meq==0){ + wt.bar <- ic.weights(crossprod(t(crossprod(t(uiw),cov.mat)),t(uiw))) + } + else{ + wt.bar <- ic.weights(solve(solve(crossprod(t(crossprod(t(uiw),cov.mat)),t(uiw)))[-(1:obj@QP$meq), -(1:obj@QP$meq)])) + } + + # Stat, quantile and pval + b.eq <- solve.QP(Dmat, dvec, t(uiw), bvec, meq = nrow(uiw))$sol + b.eq <- round(b.eq,8) + names(b.eq) <- names(coef(obj)) + stat <- as.vector(crossprod(coef(obj)-b.eq, solve(cov.mat, coef(obj)-b.eq))) + stat <- stat/(unconstr@QP$df.error*unconstr@QP$S2+stat) + df.bar <- (nrow(uiw)-meq):0 + pval <- 1 - pbetabar(stat, df1=df.bar/2, df2=unconstr@QP$df.error/2, wt=wt.bar) + qbetabar <- .quantileBetabar(df.bar=df.bar, df.error=unconstr@QP$df.error, wt.bar=wt.bar, alpha=alpha) + test <- list("stat" = stat, "pvalue" = pval, "wt.bar" = wt.bar, "df.bar" = df.bar, "unconstr" = unconstr, "qbetabar" = qbetabar, "alpha" = alpha) + } + else{ # intercept vs given model + myX <- matrix(1, nrow(obj@X), 1, dimnames=list(NULL,"theta0.0")) + modelNull <- .plrs.fit(X=myX, matconstr=NULL, mytype="Intercept", modelFull=obj) + + rss0 <- sum(residuals(modelNull)^2) + rss1 <- sum(residuals(obj)^2) + + # Degree of freedom + N <- length(obj@data$expr) + df0 <- N - 1 + df1 <- N - ncol(model.matrix(obj)) + dfnum <- df0 - df1 + dfden <- df1 + + # P-value + stat <- ((rss0 - rss1)/dfnum)/(rss1/dfden) + pval <- 1 - pf(stat, dfnum, dfden) + test <- list("stat" = stat, "pvalue" = pval) + } + object@test <- test + return(object) + } + else{ + return(object) + } +} + diff --git a/R/predict.plrs.r b/R/predict.plrs.r new file mode 100644 index 0000000..5d4be12 --- /dev/null +++ b/R/predict.plrs.r @@ -0,0 +1,18 @@ +# Make predictions from a given "plrs" model + +# Author: Gwenael G.R. Leday + +predict.plrs <- function(object, newcghseg, ...){ + + if(class(object)!="plrs") stop("An object of class \"plrs\" is required") + if(!is.vector(newcghseg)) stop("Object \"newcghseg\" has to be a vector") + + X <- .Bmat(newcghseg, knots = object@data$knots, + continuous = object@call.arg$continuous, + general.intercept = T) + + if(object@selected) X <- X[,colnames(X)%in%names(coef(object))] + + fit.val <- as.vector(crossprod(t(X), coef(object))) + return(fit.val) +} diff --git a/R/quantileBetabar.r b/R/quantileBetabar.r new file mode 100644 index 0000000..67ff756 --- /dev/null +++ b/R/quantileBetabar.r @@ -0,0 +1,25 @@ +# Internal function +# Determine quantile of mixture of beta distributions + +# Author: Gwenael G.R. Leday + +.quantileBetabar <- function(df.bar, df.error, wt.bar, alpha){ + statbis <- 0.5 + stp <- 0.499999 + vals <- rep(NA, 100) + bool <- T + ct <- 0 + while(bool){ + ct <- ct + 1 + vals[ct] <- statbis + pvalbis <- 1 - pbetabar(statbis, df1=df.bar/2, df2=df.error/2, wt=wt.bar) + if(pvalbis>alpha){ + statbis <- statbis + stp + }else{ + statbis <- statbis - stp + } + stp <- stp / 2 + if(ct>1) if(abs(pvalbis-alpha)<=.Machine$double.eps | abs(vals[ct-1]-vals[ct])<=1e-8) bool <- F + } + vals[ct] +} \ No newline at end of file diff --git a/R/respCI.r b/R/respCI.r new file mode 100644 index 0000000..d74a42a --- /dev/null +++ b/R/respCI.r @@ -0,0 +1,88 @@ +# Internal function +# Confidence bands for a given x, optimization with csdp(). + +# Author: Gwenael G.R. Leday + +.respCI <- function(newx, object, alpha){ + + # Test including intercept + cov.mat <- object@test$unconstr@QP$vcov/object@test$unconstr@QP$S2 + x <- rep(0, length(coef(object))) + newstat <- as.numeric(t(coef(object)-x) %*% solve(cov.mat, coef(object)-x)) + newstat <- newstat/(object@test$unconstr@QP$df.error*object@test$unconstr@QP$S2+newstat) + qbetabar <- .quantileBetabar(df.bar=object@test$df.bar+1, df.error=object@test$unconstr@QP$df.error, wt.bar=object@test$wt.bar, alpha=alpha) + lambda <- (object@test$unconstr@QP$df.error*object@test$unconstr@QP$S2)*(qbetabar/(1-qbetabar)) + + R <- solve(cov.mat) + M <- chol(R) + ML <- coef(object) + bb <- -M%*%ML + constr <- t(object@QP$Amat) + npar <- length(ML) + + # myC + myC <- list( + -1*rbind(cbind(diag(npar), bb), cbind(t(bb), lambda)), + matrix(0, npar-1, npar-1) + ) + + # myA + A11 <- rbind(cbind(matrix(0,npar,npar), matrix(M[,1],npar,1)), cbind(matrix(M[,1],1,npar),0)) + A12 <- rbind(cbind(matrix(0,npar,npar), matrix(M[,2],npar,1)), cbind(matrix(M[,2],1,npar),0)) + if(npar>2) A13 <- rbind(cbind(matrix(0,npar,npar), matrix(M[,3],npar,1)), cbind(matrix(M[,3],1,npar),0)) + if(npar>2) A14 <- rbind(cbind(matrix(0,npar,npar), matrix(M[,4],npar,1)), cbind(matrix(M[,4],1,npar),0)) + if(npar>4) A15 <- rbind(cbind(matrix(0,npar,npar), matrix(M[,5],npar,1)), cbind(matrix(M[,5],1,npar),0)) + if(npar>4) A16 <- rbind(cbind(matrix(0,npar,npar), matrix(M[,6],npar,1)), cbind(matrix(M[,6],1,npar),0)) + if(npar>6) A17 <- rbind(cbind(matrix(0,npar,npar), matrix(M[,7],npar,1)), cbind(matrix(M[,7],1,npar),0)) + if(npar>6) A18 <- rbind(cbind(matrix(0,npar,npar), matrix(M[,8],npar,1)), cbind(matrix(M[,8],1,npar),0)) + + if(npar==2){ + A21 <- constr[,1] + A22 <- constr[,2] + } + else{ + A21 <- diag(constr[,1]) + A22 <- diag(constr[,2]) + } + if(npar>2) A23 <- diag(constr[,3]) + if(npar>2) A24 <- diag(constr[,4]) + if(npar>4) A25 <- diag(constr[,5]) + if(npar>4) A26 <- diag(constr[,6]) + if(npar>6) A27 <- diag(constr[,7]) + if(npar>6) A28 <- diag(constr[,8]) + + myA <- NULL + for(i in 1:npar){ + myA <- c(myA, list(list(get(paste("A1",i,sep="")), get(paste("A2",i,sep=""))))) + } + + #myK + if(npar!=2){ + myK <- list(type=c("s","s"), size=c(npar+1,npar-1)) + } + else{ + myK <- list(type=c("s","l"), size=c(npar+1,npar-1)) + } + + #myb + myb <- as.vector(.Bmat(newx, knots=knots(object), object@call.arg$continuous, TRUE)) + + # Semidefinite prog for inf + res <- csdp(myC,myA,myb,myK) + parinf <- res$y + inf <- res$dobj + + #myb + myb <- -as.vector(.Bmat(newx, knots=knots(object), object@call.arg$continuous, TRUE)) + + # Semidefinite prog for sup + res <- csdp(myC,myA,myb,myK) + parsup <- res$y + sup <- -res$dobj + + out <- c(inf,sup) + names(out) <- c("inf","sup") + + return(out) +} + diff --git a/data/neveCN17.RData b/data/neveCN17.RData new file mode 100644 index 0000000000000000000000000000000000000000..4a71b037b001d35cda5e8c92dec86c3d6fd473c3 GIT binary patch literal 26728 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 DPIzWd literal 0 HcmV?d00001 diff --git a/inst/doc/mybib.bib b/inst/doc/mybib.bib new file mode 100644 index 0000000..0bb980b --- /dev/null +++ b/inst/doc/mybib.bib @@ -0,0 +1,61 @@ + +@article{gromping2010, + title = {Inference with Linear Equality and Inequality Constraints Using {R}: The Package ic.infer}, + author = {Gr\"{o}mping, Ulrike}, + year = {2010}, + journal = {J Stat Softw}, + volume = {33}, + number = {i10} +} + +@article{leday2012, + author = {Leday, Gwena\"el G. R. and van der Vaart, Aad W. and van Wieringen, Wessel N. and van de Wiel, Mark A.}, + title = {Modeling association between {DNA} copy number and gene expression with constrained piecewise linear regression splines}, + journal = {Ann Appl Stat}, + year = {2012}, + note = {Accepted for publication} +} + +@article{neve2006, + author = {Neve, Richard M. and Chin, Koei and Fridlyand, Jane and Yeh, Jennifer and Baehner, Frederick L. and Fevr, Tea and Clark, Laura and Bayani, Nora and Coppe, Jean-Philippe P. and Tong, Frances and Speed, Terry and Spellman, Paul T. and DeVries, Sandy and Lapuk, Anna and Wang, Nick J. and Kuo, Wen-Lin L. and Stilwell, Jackie L. and Pinkel, Daniel and Albertson, Donna G. and Waldman, Frederic M. and McCormick, Frank and Dickson, Robert B. and Johnson, Michael D. and Lippman, Marc and Ethier, Stephen and Gazdar, Adi and Gray, Joe W.}, + title = {A collection of breast cancer cell lines for the study of functionally distinct cancer subtypes.}, + journal = {Cancer cell}, + volume = {10}, + year = {2006}, + month = {December}, + number = {6}, + pages = {515--527}, + issn = {1535-6108} +} + +@article{olshen2004, + author = {Olshen, A. B. and Venkatraman, E. S. and Lucito, R. and Wigler, M.}, + journal = {Biostatistics}, + month = {October}, + number = {4}, + pages = {557--572}, + title = {Circular binary segmentation for the analysis of array-based {DNA} copy number data.}, + volume = {5}, + year = {2004} +} + +@article{vandeWiel2007, + author = {van de Wiel, Mark A. and Kim, Kyung I. and Vosse, Sjoerd J. and van Wieringen, Wessel N. and Wilting, Saskia M. and Ylstra, Bauke}, + journal = {Bioinformatics}, + month = {April}, + number = {7}, + pages = {892--894}, + title = {{CGHcall}: calling aberrations for array {CGH} tumor profiles}, + volume = {23}, + year = {2007} +} + +@article{vanWieringen2012, + title = {Matching of array {CGH} and gene expression microarray features for the purpose of integrative genomic analyses}, + author = {van Wieringen, Wessel N. and Unger, Kristian and Leday, Gwenael and Krijgsman, Oscar and de Menezes, Renee and Ylstra, Bauke and van de Wiel, Mark}, + journal = {BMC Bioinformatics}, + year = {2012}, + volume = {13}, + number = {1}, + pages = {80} +} diff --git a/inst/doc/plrs_vignette.Rnw b/inst/doc/plrs_vignette.Rnw new file mode 100644 index 0000000..8369adb --- /dev/null +++ b/inst/doc/plrs_vignette.Rnw @@ -0,0 +1,404 @@ +\documentclass[11pt]{article} + +%\VignetteIndexEntry{plrs} +%\VignetteDepends{} +%\VignetteKeywords{Piecewise Linear Regression Splines for the association between DNA copy number and gene expression.} +%\VignettePackage{plrs} + +\usepackage{geometry} +\geometry{left=2.5cm,right=2.5cm,top=2.5cm, bottom=2.5cm} + +\newcommand{\plrs}{\texttt{PLRS}} +\SweaveOpts{keep.source=TRUE} + + +\title{\plrs \\ Piecewise Linear Regression Splines for \\ +the association between DNA copy number and \\ gene expression} +\author{Gwena\"el G.R. Leday\\ +\\ +\texttt{g.g.r.leday@vu.nl}\\ +\\ +\normalsize{Department of Mathematics, VU University}\\ +\normalsize{De Boelelaan 1081a, 1081 HV Amsterdam, The Netherlands}\\} +\date{} + + +\begin{document} + +\maketitle + +\null +\null +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Introduction} +\null +\indent The \plrs~package implements the methodology described by \cite{leday2012} for the joint +analysis of DNA copy number and mRNA expression. +The framework employs piecewise linear regression splines (PLRS), a broad class of interpretable +models, to model \textsl{cis}-relationships between the two molecular levels. \\ +In the present vignette, we provide guidance for: +\begin{enumerate} + \item The analysis of a single DNA-mRNA relationship + \begin{itemize} + \item model specification and fitting, + \item selection of an appropriate model, + \item testing the strength of the association and + \item obtaining uniform confidence bands. + \end{itemize} + \item The analysis of multiple DNA-mRNA relationships +\end{enumerate} +\null +We first introduce the breast cancer data used to illustrate this vignette. \\ + +\newpage +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Breast cancer data} +\null +We use the breast cancer data of \cite{neve2006} that are available from the Bioconductor package +``Neve2006''. aCGH and gene expression for 50 samples (cell lines) were profiled with an OncoBAC +and Affymetrix HG-U133A arrays. We preprocessed and matched data as follows. +Data were segmented with the CBS algorithm of \cite{olshen2004} and discretized with CGHcall +\cite{vandeWiel2007} (also available from Bioconductor). Matching of features was done using +the Bioconductor package \texttt{sigaR} \cite{vanWieringen2012} and the \textit{distanceAny} +method with a window of 10,000 bp. The present package includes preprocessed data for +chromosome 17 only.\\ + +\noindent Data are loaded in the following way: + +<<>>= +library(plrs) +data(neveCN17) +data(neveGE17) +@ +\null + +This loads to the current environment an ``ExpressionSet'' object \texttt{neveGE17} and +a ``cghCall'' object \texttt{neveCN17}, which contain \textbf{preprocessed} expression and copy number +data with \textbf{matched} features: + +<<>>= +neveGE17 +neveCN17 +@ + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Analysis of a single DNA-mRNA relationship} +\null +In this section, we focus on a single \textsl{cis}-effect and show how to specify +and fit a model. Procedures for selecting an appropriate model, testing +the association and obtaining confidence intervals for the mean response are presented.\\ + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\subsection{Obtain data for a single gene} +\null +We choose gene PITPNA for illustration: + +<<>>= +# Index of gene PITPNA +idx <- which(fData(neveGE17)$Symbol=="PITPNA")[1] +@ +<<>>= +# Obtain vectors of gene expression (normalized) and +# copy number (segmented and called) data +rna <- exprs(neveGE17)[idx,] +cghseg <- segmented(neveCN17)[idx,] +cghcall <- calls(neveCN17)[idx,] +@ +<<>>= +# Obtain vectors of posterior membership probabilities +probloss <- probloss(neveCN17)[idx,] +probnorm <- probnorm(neveCN17)[idx,] +probgain <- probgain(neveCN17)[idx,] +probamp <- probamp(neveCN17)[idx,] +@ +\null +Posterior probabilities are used for determining knots (or change points) of the model. +Their calculation is explained in \cite{leday2012}. \\ + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\subsection{Number of observations per state} +\null + +For a given gene, PLRS accommodates \textsl{differential} DNA-mRNA relationships across +the different types of genomic aberrations or \textsl{states}. Presently, we (only) distinguish +four of them: \textbf{loss} (coded as -1), \textbf{normal} (0), \textbf{gain} (1) and \textbf{amplification} (2). +To ensure that the model is identifiable, the sample size for each state needs not to be too +small. A minimum number of three samples is required for estimation, however any higher number +may be chosen/preferred. +<<>>= +# Check: how many observations per state? +table(cghcall) +@ +Here, it is possible to fit a 3-state model. If the minimum number of observations is not fulfilled for +a given state, there are two possibilities: discard data corresponding to the given state or merging it +to an adjacent one. The function \texttt{modify.conf()} accommodates these two options (see below). +With this function one can actually control the minimum number of samples per state. +<<>>= +# Set the minimum to 4 observations per state +cghcall2 <- modify.conf(cghcall, min.obs=4, discard=FALSE) +table(cghcall2) + +# Set the minimum to 4 observations per state +cghcall2 <- modify.conf(cghcall, min.obs=4, discard=TRUE) +table(cghcall2) +@ +\null +In practice, the user does not have to call directly \texttt{modify.conf()} as it is implemented +internally in function \texttt{plrs()}, which is used to fit a model. +However, one needs to be aware that the minimum number of observations per state (specified via +arguments \texttt{min.obs} and \texttt{discard.obs} in \texttt{plrs()}) has a strong +influence on the resulting model.\\ +\null +\null + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\subsection{Model fitting} +\null +Function \texttt{plrs()} allows the fitting of a PLRS model. Different types of models may be +specified conveniently. For instance, one may choose to fit a \textit{continuous} PLRS (i.e. +with no state-specific intercepts or discontinuities) or to change the type of restrictions on +parameters or simply leave them out. +Although we recommend users to use default argument values, we below describe how to specify +alternative types of models.\\ + +\noindent The followings arguments of function \texttt{plrs()} offer flexibility for modeling: +\begin{itemize} + \item \texttt{continuous = TRUE} or \texttt{FALSE} (default)\\ + Specify whether state-specific intercepts should be included. + \item \texttt{constr = TRUE} (default) or \texttt{FALSE}\\ + Specify whether inequality constraints on parameter should be applied or not. + \item \texttt{constr.slopes = 1} or \texttt{2} (default)\\ + Specify the type of constraints on slopes; options are: + \begin{enumerate} + \item \texttt{constr.slopes = 1} forces all slopes to be non-negative. + \item \texttt{constr.slopes = 2} forces the slope of the "normal" state (coded 0) to + be non-negative while all others are forced to be at least equal to the latter. + \end{enumerate} + \item \texttt{constr.intercepts = TRUE} (default) or \texttt{FALSE}\\ + Specify whether state-specific intercepts are to be non-negative. +\end{itemize} +\noindent Note that when \texttt{constr = FALSE}, \texttt{constr.slopes} and +\texttt{constr.intercepts} have no effect.\\ +\\ +\\ +With default settings (recommended): +\begin{center} +\setkeys{Gin}{width=0.5\textwidth} +<>= +# Fit a model +model <- plrs(rna, cghseg, cghcall, probloss, probnorm, probgain, probamp) +model +plot(model) +@ +\end{center} +\null +The \texttt{plrs()} function returns an S4 object of class ``plrs''. Various generic functions +have been defined on this class: +\begin{itemize} + \item Functions \texttt{print()} and \texttt{summary()} display information about the model + (e.g. estimated coefficients, type of constraints, etc...). + \item Function \texttt{plot()} displays the fit of the PLRS model along with data. + Segmented copy number is on x-axis while (normalized) gene expression is on y-axis; + colors indicate the different aberration states, namely ``loss'' (red), ``normal'' + (blue) and ``gain'' (green); the black line gives the fit of the PLRS model. + Colors and symbols may be changed via the appropriate arguments of function \texttt{plrs()}. + Note that the argument \texttt{lin}, if set to \texttt{TRUE}, will additionally display a + dashed (default) line giving the fit of the simple linear model. + \item Other useful functions include \texttt{coef()}, \texttt{fitted()}, \texttt{residuals()}, + \texttt{model.matrix()}, \texttt{predict()} and \texttt{knots()}. These are standard functions. + Information about these can be found in associated help files. +\end{itemize} +\null + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\subsection{Select an appropriate model} +\null +Model selection is carried out by \texttt{plrs.select()}, which takes has input an object of +class ``plrs''. Possible model selection criteria are \texttt{OSAIC}, \texttt{AIC}, \texttt{AICC} +and \texttt{BIC}. When the model is constrained \texttt{OSAIC} is the only appropriate one. +If the model has no restrictions on parameters, \texttt{OSAIC} and \texttt{AIC} are equivalent. +See help file and associated references for more information. + +\begin{center} +\setkeys{Gin}{width=0.5\textwidth} +<>= +# Model selection +modelSelection <- plrs.select(model) +summary(modelSelection) + +# Plot selected model +plot(modelSelection) +@ +\end{center} +\null +The function \texttt{plrs.select()} returns an S4 object of class ``plrs.select'' (here +\texttt{modelSelection}), which contains information on model selection. Slot \texttt{model} +contains the selected model as a ``plrs'' object: +<<>>= +selectedModel <- modelSelection@model +selectedModel +@ +\null + +Although \texttt{model} and \texttt{selectedModel} are both objects of class ``plrs'', +generic functions defined on this class make implicitly the distinction between +objects resulting from functions \texttt{plrs()} and \texttt{plrs.select()} +(see above; ``\texttt{Selected spline coefficients}'').\\ + +$\Rightarrow$ It is important to note that, for correct inference, subsequent test and confidence +intervals must be computed on the \textbf{full} model rather than the \textbf{selected} one. +Therefore, we forced functions \texttt{plrs.test()} and \texttt{plrs.cb()} (used hereafter) +to operate on the full model, regardless of the input model. This implies that inference +results are the same with either objects (see below). +If one wishes to obtain results for the selected model, set \texttt{selectedModel@selected} to \texttt{FALSE} +and then apply the aforementioned functions. +\null + +%This provides correct inference the user to continue the analysis with either \texttt{model} +%or \texttt{selectedModel}. +%This distinction is important because subsequent statistical inferences (tests, confidence +%intervals, ...) should be based on the full model rather than the selected one. Doing +%otherwise would naively suggests that the form of the relationship is known \textsl{a priori}. +%Hence, one should continue the analysis with the object \texttt{model}, rather than +%\texttt{selectedModel}. However, for practical convenience the \texttt{PLRS} package allows +%to continue the analysis with \texttt{selectedModel} and keep information from the selection +%procedure. +%To do so, generic functions associated with the class of objects ``plrs'' make implicitly +%the distinction between full and selected models, i.e. between objects resulting from +%\texttt{plrs()} and those from \texttt{plrs.select()}. This can be seen when objects are printed +%for example (see above; ``\texttt{Selected spline coefficients}''). Thereby, function +%\texttt{plrs.test}, which will be used for testing model parameters, always consider the full model +%and tests the association in its generality even though a selected model has been provided. +%Similarly, function \texttt{plrs.cb} determine confidence intervals on the mean response based on +%the full model. + +\newpage +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\subsection{Testing the strength of the association} +\null + +The function \texttt{plrs.test()} implements a likelihood ratio test to evaluate the effect +of DNA copy number on expression. It tests the hypothesis that all parameters (except the +overall intercept) of the PLRS model equal 0. See \cite{gromping2010, leday2012} and associated +references for more details on the test. +The function \texttt{plrs.test()} takes as input an object class ``plrs'' and outputs an object +from the same class. Testing results are contained in slot \texttt{test}. + +<<>>= +# Testing the full model with +model <- plrs.test(model, alpha=0.05) +model + +# or with +selectedModel <- plrs.test(selectedModel, alpha=0.05) +selectedModel + +# Testing the selected model +selectedModel2 <- selectedModel +selectedModel2@selected <- FALSE +plrs.test(selectedModel2, alpha=0.05) +@ +\null + +The object \texttt{selectedModel} now contains information on testing, which are +consequently displayed when printing.\\ + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\subsection{Uniform confidence bands} +\null +Confidence intervals for the spline are computed with function \texttt{plrs.cb}. Again, the +function requires an object of class ``plrs''. However, the input object must result from +function \texttt{plrs.test()}). This is because information from the test is required +(mixture's weights). \texttt{plrs.cb} outputs an object of class ``plrs'' and computed lower and +upper bounds for the mean response are stored in slot \texttt{cb}. + +\begin{center} +\setkeys{Gin}{width=0.5\textwidth} +<>= +# Compute and plot CBs +selectedModel <- plrs.cb(selectedModel, alpha=0.05) + +str(selectedModel@cb) + +plot(selectedModel) +@ +\end{center} +\null +Confidence bands are automatically plotted. Color may be change with input arguments \texttt{col.cb}. +For example: +\begin{center} +\setkeys{Gin}{width=0.5\textwidth} +<>= +plot(selectedModel, col.pts="black", col.cb="pink") +@ +\end{center} + +\newpage +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Analysis of multiple DNA-mRNA relationships} +\null +Function \texttt{plrs.series()} allows to apply the different aforementioned procedures to multiple +relationships. Input data can be given as \emph{matrix} objects or \emph{ExpressionSet} and +\emph{cghCall} objects. We now show how to: 1) implement the PLRS screening test and 2) implement the +model selection procedure. For the purpose of speed, we work on a subset of chromosome 17 (first 200 +features). + +<<>>= +# Testing the full model, no model selection (fast) +neveSeries <- plrs.series(neveGE17[1:200,], neveCN17[1:200,], control.select=NULL) + +# Testing the full model and applying model selection +neveSeries2 <- plrs.series(neveGE17[1:200,], neveCN17[1:200,]) +@ + +Function \texttt{plrs.series()} has arguments \texttt{control.model}, \texttt{control.select} and +\texttt{control.test}, which allows to specify the type of model, model selection and whether +the test and confidence bands should be computed. Argument \texttt{control.output} allows the user +to save each ``plrs'' objects and/or associated plot in the working directory.\\ +\texttt{plrs.series()} outputs an object of class ``plrs.series''. Generic functions \texttt{print()} +and \texttt{summary()} display information on fitted models, selected models and/or the testing procedure. + +\newpage +<<>>= +# Summary of screening test +neveSeries +summary(neveSeries) + +# Summary of screening test and model selection +neveSeries2 +summary(neveSeries2) +@ + +\noindent Results of testing and model selection procedures are obtained as follows: + +<<>>= +# Testing results +head(neveSeries@test) +head(neveSeries2@test) + +# Coefficients of selected models +head(neveSeries2@coefficients) + +@ + + + +\newpage +\bibliographystyle{plain} +\bibliography{mybib} + +\end{document} diff --git a/man/criteria.Rd b/man/criteria.Rd new file mode 100644 index 0000000..6348b77 --- /dev/null +++ b/man/criteria.Rd @@ -0,0 +1,46 @@ +\name{criteria} +\alias{criteria} +\alias{criteria,plrs-method} + +\title{ + Compute AIC, AICC, BIC and OSAIC for a given \code{plrs} model. +} + +\description{Extract AIC, AICC, BIC and OSAIC from an object of class \code{\link{plrs-class}}.} + +\usage{ +criteria(obj, crit = "all") +} + +\arguments{ + \item{obj}{object of class \code{\link{plrs-class}}} + \item{crit}{A \code{character} (vector) among \code{"aic"}, \code{"aicc"}, \code{"bic"}, \code{"osaic"} or \code{"all"}.} +} + +\value{ + A \code{list} with the following components (if specified): + \item{aic}{Akaike's information criterion} + \item{aicc}{Small sample correction of AIC} + \item{bic}{Bayesian Information Criterion} + \item{osaic}{One-Sided AIC. See Hughes and King (2003) for more details.} +} + +\references{ + Hughes, A. W. and King, M. L. (2003). Model selection using AIC in the presence of one-sided information. \emph{J Stat Plan Infer}, 115(2): 397 411. +} + +\author{Gwenael G.R. Leday \email{g.g.r.leday@vu.nl}} + +%\note{} +%\seealso{} +\examples{ + +# Simulate data +sim <- plrs.sim(n=80, states=4, sigma=0.5) + +# Fit +model <- plrs(expr=sim$expr, cghseg=sim$seg, cghcall=sim$cal) + +criteria(model) + +} diff --git a/man/modify.conf.Rd b/man/modify.conf.Rd new file mode 100644 index 0000000..ee809ae --- /dev/null +++ b/man/modify.conf.Rd @@ -0,0 +1,50 @@ +\name{modify.conf} +\alias{modify.conf} + +\title{Modify the configuration (of calls) of the plrs model} + +\description{ +This function changes the discrete copy number values for a given gene in order to +force a minimum number of observations per state. +} + +\usage{ +modify.conf(cghcall, min.obs = 3, discard = TRUE) +} + +\arguments{ + \item{cghcall}{Vector of called values} + \item{min.obs}{Minimum number of observations per state} + \item{discard}{Logical. Whether discrete states with few observations should be discarded from analysis.} +} + +\details{ +Consider that the number of observations of a given state is lower than \code{min.obs}, then: + +- if \code{discard = FALSE}, observations are not discarded and a rearrangement of called values is carried out as follows. +The "normal" copy number state is taken as a reference. If the minimum number of observations is not obtained, +"losses" will be merged to "normals", "gains" to "normals" and "amplifications" to "gains". +Note that this modifies the configuration of the model. Thus, after fitting a model using \code{\link{plrs}}, +original and modified data are stored in the resulting \code{\link{plrs-class}} object, respectively under +slots \code{data} and \code{mdata}. + +- if \code{discard = TRUE}, states for which the number of observations is lower than \code{min.obs} +are discarded (replaced by NAs). + +} + +\value{ + \item{val}{Vector of new called values} +} + +\author{Gwenael G.R. Leday \email{g.g.r.leday@vu.nl}} + +\note{ +This function is implemented within function \code{\link{plrs}} and \code{\link{plrs.series}}. +} + +\examples{ +called <- sample(c(rep(-1,5),rep(0,15),rep(1,2),rep(2,1))) +table(called) +table(modify.conf(called, min.obs=3)) +} diff --git a/man/neveCN17.Rd b/man/neveCN17.Rd new file mode 100644 index 0000000..8d0998e --- /dev/null +++ b/man/neveCN17.Rd @@ -0,0 +1,31 @@ +\name{neveCN17} +\alias{neveCN17} +\docType{data} + +\title{ + Copy number for chromosome 17. +} + +\description{Preprocessed copy number data of Neve et al. (2006) for chromosome 17.} + +\usage{ +neveCN17 +} + +\format{An object of class \code{\link[CGHbase]{cghCall}}} + +\source{ +M. Neve et al. in Gray Lab at LBL. Neve2006: expression and CGH data on breast cancer cell lines. R package version 0.1.10. +} + +\references{ + Neve, R.M. et al. (2006). A collection of breast cancer cell lines for the study of functionally distinct cancer subtypes. \emph{Cancer cell}, 10, 515-527. +} + + +\examples{ +data(neveCN17) +dim(neveCN17) +head(fData(neveCN17)) + +} diff --git a/man/neveGE17.Rd b/man/neveGE17.Rd new file mode 100644 index 0000000..05b82d9 --- /dev/null +++ b/man/neveGE17.Rd @@ -0,0 +1,31 @@ +\name{neveGE17} +\alias{neveGE17} +\docType{data} + +\title{ + mRNA expression for chromosome 17. +} + +\description{Normalized gene expression data of Neve et al. (2006) for chromosome 17.} + +\usage{ +neveGE17 +} + +\format{An object of class \code{\link[Biobase]{ExpressionSet}}} + +\source{ +M. Neve et al. in Gray Lab at LBL. Neve2006: expression and CGH data on breast cancer cell lines. R package version 0.1.10. +} + +\references{ + Neve, R.M. et al. (2006). A collection of breast cancer cell lines for the study of functionally distinct cancer subtypes. \emph{Cancer cell}, 10, 515-527. +} + + +\examples{ +data(neveGE17) +dim(neveGE17) +head(fData(neveGE17)) + +} diff --git a/man/plot-methods.Rd b/man/plot-methods.Rd new file mode 100644 index 0000000..f02b906 --- /dev/null +++ b/man/plot-methods.Rd @@ -0,0 +1,55 @@ +\name{plot-methods} +\docType{methods} +\alias{plot-methods} +\alias{plot,ANY} +\alias{plot.plrs} +\alias{plot,plrs,ANY-method} +\alias{plot,plrs.select,ANY-method} + +\title{Plot functions in package 'plrs'} + +\description{ +Methods \code{plot} in package 'plrs' +} + +\usage{ +\method{plot}{plrs}(x, col.line = "black", col.pts = c("red", "blue","green2", "green4"), +col.cb = "yellow", xlim = c(floor(min(x@data$cghseg)),ceiling(max(x@data$cghseg))), +ylim = c(floor(min(x@data$expr)),ceiling(max(x@data$expr))), +pch = 16, lwd=4, cex = 1.2, xlab="", ylab="", main = "", +add = FALSE, lty = 1, lin = FALSE, ...) + +} + +\arguments{ + \item{x}{An object of class \code{\link{plrs-class}} or \code{\link{plrs.select-class}}} + \item{col.line}{Color of the fitted line} + \item{col.pts}{Vector of length 4, for colors associated with each state} + \item{col.cb}{Color for the confidence band} + \item{xlim}{The x limits of the plot} + \item{ylim}{The y limits of the plot} + \item{pch}{See \code{\link[graphics]{par}}} + \item{lwd}{See \code{\link[graphics]{par}}} + \item{cex}{See \code{\link[graphics]{par}}} + \item{xlab}{Title of the x-axis} + \item{ylab}{Title of the y-axis} + \item{main}{Main title for the plot} + \item{add}{If the plot should be added to the current device. Default is \code{FALSE}} + \item{lty}{See \code{\link[graphics]{par}}} + \item{lin}{Logical. Whether the simple linear model should also be plotted} + \item{...}{Other arguments, see \code{\link[graphics]{par}}} +} + +\section{Methods}{ + \describe{ + \item{\code{signature(x = "plrs")}}{Plot observed points and the fitted line} + \item{\code{signature(x = "plrs.select")}}{Plot observed points and the fitted line of the selected model.} + } +} + +\details{ +\code{plot.plrs} plots the observed points, the fitted line and potentially the confidence band. +} + +\author{Gwenael G.R. Leday \email{g.g.r.leday@vu.nl}} + diff --git a/man/plrs-class.Rd b/man/plrs-class.Rd new file mode 100644 index 0000000..b816279 --- /dev/null +++ b/man/plrs-class.Rd @@ -0,0 +1,58 @@ +\name{plrs-class} +\Rdversion{1.1} +\docType{class} +\alias{plrs-class} +\alias{coef,plrs-method} +\alias{effects,plrs-method} +\alias{fitted,plrs-method} +\alias{knots,plrs-method} +\alias{model.matrix,plrs-method} + +\alias{predict,plrs-method} +\alias{print,plrs-method} +\alias{residuals,plrs-method} +\alias{show,plrs-method} +\alias{summary,plrs-method} + +\title{Class \code{plrs}} +\description{ +An S4 class representing the output of the \code{\link{plrs}} function. +} + +\section{Slots}{ + \describe{ + \item{\code{coefficients}:}{Object of class \code{numeric} containing spline coefficients} + \item{\code{fitted.values}:}{Object of class \code{numeric} containing the fitted values} + \item{\code{residuals}:}{Object of class \code{numeric} containing the residuals} + \item{\code{X}:}{Object of class \code{matrix} containing the design matrix} + \item{\code{data}:}{Object of class \code{list} containing input data} + \item{\code{mdata}:}{Object of class \code{list} containing (possibly modified) data used to fit the model (See \code{\link{modify.conf}}).} + \item{\code{QP}:}{Object of class \code{list} containing input elements used for quadratic programming. If the model is unconstrained this contains a light version of an \code{lm} object.} + \item{\code{test}:}{Object of class \code{list} containing results from testing.} + \item{\code{cb}:}{Object of class \code{list} containing lower and upper bounds for predicted values.} + \item{\code{selected}:}{Object of class \code{logical} indicating whether the model results from a selection procedure.} + \item{\code{type}:}{Object of class \code{character} giving the type of model} + \item{\code{call.arg}:}{Object of class \code{list} containing the input arguments (for reproducibility)} + } +} + +\section{Methods}{ + \describe{ + \item{coef}{Returns the coefficients} + \item{criteria}{See \code{\link{criteria}}} + \item{effects}{Returns matrix of effects} + \item{fitted}{Returns the fitted values} + \item{knots}{Returns the knots} + \item{model.matrix}{Returns the design matrix} + \item{plot}{See \code{\link{plot.plrs}}} + \item{predict}{See \code{\link{predict.plrs}}} + \item{print}{Print the object information} + \item{residuals}{Returns the residuals} + \item{show}{Print the object information} + \item{summary}{Print a summary of the object information} + } +} + +\author{Gwenael G.R. Leday \email{g.g.r.leday@vu.nl}} + + diff --git a/man/plrs-package.Rd b/man/plrs-package.Rd new file mode 100644 index 0000000..2a67b0a --- /dev/null +++ b/man/plrs-package.Rd @@ -0,0 +1,41 @@ +\name{plrs-package} +\alias{plrs-package} +\docType{package} + +\title{Piecewise Linear Regression Splines (PLRS) for the association between DNA copy number and mRNA expression} + +\description{ +The present package implements a framework for modeling the relationship between DNA copy number and gene expression data using Piecewise Linear Regression Splines (PLRS). It includes (point and interval) estimation, model selection and testing procedures for such models (possibly under biologically motivated constraints). +} + +\details{ +The use of the present package can be divided into two approaches:\cr +\cr +1. Analysis of a single DNA-mRNA relationship\cr +\cr +Main functions are:\cr +\code{\link{plrs}}: Fit a single plrs model.\cr +\code{\link{plrs.select}}: Model selection based on AIC, AICC, OSAIC or BIC.\cr +\code{\link{plrs.test}}: Likelihood ratio test for a given plrs model.\cr +\code{\link{plrs.cb}}: Confidence bands for a plrs model.\cr +\cr +\cr +2. Analysis of multiple DNA-mRNA relationships sequentially\cr +\cr +Main function is:\cr +\code{\link{plrs.series}}: point and interval estimation, model selection and testing of DNA-mRNA association for a series of arrays.\cr +\cr +Note: This function extend the aforementioned univariate analysis genomewise in the same spirit as some functions of the \pkg{limma} package do. +} + +\author{ +Gwenael G.R. Leday + +Maintainer: Gwenael G.R. Leday \email{g.g.r.leday@vu.nl} +} + +\references{ +Leday GGR, Van der Vaart AW, Van Wieringen WN, Van de Wiel MA. Modeling association between DNA copy number and gene expression with constrained piecewise linear regression splines. Accepted for publication. \emph{Ann Appl Stat}. (2012). +} + +\keyword{copy number, gene expression, regression splines, model selection, constrained inference.} \ No newline at end of file diff --git a/man/plrs.Rd b/man/plrs.Rd new file mode 100644 index 0000000..b6b9ab2 --- /dev/null +++ b/man/plrs.Rd @@ -0,0 +1,79 @@ +\name{plrs} +\alias{plrs} +\alias{plrs,ANY} + +\title{Fit a (constrained) piecewise linear regression spline} + +\description{The function fits a piecewise linear regression spline to explain +gene expression by the segmented DNA copy number. The called copy number values +are used as a template for model building.} + +\usage{ +plrs(expr, cghseg, cghcall=NULL, probloss = NULL, probnorm = NULL, +probgain = NULL, probamp = NULL, knots = NULL, continuous = FALSE, +constr = TRUE, constr.slopes = 2, constr.intercepts = TRUE, +min.obs = 3, discard.obs = TRUE) +} + +\arguments{ + \item{expr}{Vector of gene expression values} + \item{cghseg}{Vector of segmented copy number values} + \item{cghcall}{Vector of called copy number values. If not provided, we are reduced to a simple linear model.} + \item{probloss}{Vector of call probabilities associated with state "loss". Default is \code{NULL}.} + \item{probnorm}{Vector of call probabilities associated with state "normal". Default is \code{NULL}.} + \item{probgain}{Vector of call probabilities associated with state "gain". Default is \code{NULL}.} + \item{probamp}{Vector of call probabilities associated with state "amplification". Default is \code{NULL}.} + \item{knots}{knots or change points. If \code{NULL} (default), there are estimated. See details.} + \item{continuous}{Logical, whether the model is continuous (no jump) or not.} + \item{constr}{Logical, whether the model is constrained or not. (this has been implemented to turn on and off easily the constraints)} + \item{constr.slopes}{Type of non-negativity constraints applied on slopes. Either 1 or 2 (default). See details.} + \item{constr.intercepts}{If \code{TRUE} (default) jumps from state to state are also constrained to be non-negative} + \item{min.obs}{See \code{\link{modify.conf}}} + \item{discard.obs}{See \code{\link{modify.conf}}} +} + +\details{ +If \code{cghcall=NULL}, discrete copy number values are omitted, which results in fitting a simple linear model.\cr +\cr +If \code{constr.slopes=1}, all slopes are constrained to be non-negative. +If \code{constr.slopes=2}, the slope associated with state "normal" is constrained to be non-negative and all others are forced to be at least equal to the latter.\cr +\cr +Two methods are implemented for the estimation of knots. If call probabilities are provided, +a knot is determined so that the sum of (the two adjacent) states membership probabilities is maximized. +Otherwise, this is defined as the midpoint of the interval between the two consecutive states.\cr + +The constrained least squares problem is solved using function \code{solve.QP} of package \pkg{quadprog}. +} + +\value{An object of class \code{\link{plrs-class}}} + +%\references{} + +\author{Gwenael G.R. Leday \email{g.g.r.leday@vu.nl}} + +%\note{} +%\seealso{} + +\examples{ + +# Simulate data +sim <- plrs.sim(n=80, states=4, sigma=0.5) + +# Fit a model +model <- plrs(expr=sim$expr, cghseg=sim$seg, cghcall=sim$cal) +model + +# Methods +coef(model) +effects(model) +fitted(model) +knots(model) +model.matrix(model) +plot(model) +predict(model, newcghseg=seq(0,5, length.out=100)) +residuals(model) +summary(model) +} + + + diff --git a/man/plrs.cb.Rd b/man/plrs.cb.Rd new file mode 100644 index 0000000..504d0c3 --- /dev/null +++ b/man/plrs.cb.Rd @@ -0,0 +1,54 @@ +\name{plrs.cb} +\alias{plrs.cb} + +\title{Uniform confidence bands (CB) for plrs models} + +\description{ +Determine uniform confidence intervals for predicted values of a 'plrs' model. +} + +\usage{ +plrs.cb(object, alpha=0.05, newcgh=NULL) +} + +\arguments{ + \item{object}{An object of class \code{\link{plrs-class}}.} + \item{alpha}{Significance level} + \item{newcgh}{Vector of segmented values. Support for building CB.} +} + +\details{ +The input object of class \code{\link{plrs-class}} has to result from function \code{\link{plrs.test}}.\cr + +The problem of finding (at a given x) a confidence interval for the mean response is expressed as a +semi-definite optimization problem and solved using function \code{csdp} of package \pkg{Rcsdp}. +} + +\value{ +An object of class \code{\link{plrs-class} that contains CB information.} +} + +\references{ +Leday GGR, Van der Vaart AW, Van Wieringen WN, Van de Wiel MA. Modeling association between DNA copy number and gene expression with constrained piecewise linear regression splines. Accepted for publication. \emph{Ann Appl Stat}. (2012). +} + +\author{Gwenael G.R. Leday \email{g.g.r.leday@vu.nl}} + +\seealso{ +\code{\link{plrs.test}} +} + +\examples{ + +# Simulate data +sim <- plrs.sim(n=80, states=4, sigma=0.5) + +# Fit a model +model <- plrs(expr=sim$expr, cghseg=sim$seg, cghcall=sim$cal) + +# Confidence bands +model <- plrs.test(model) +model <- plrs.cb(model, alpha=0.05) +plot(model) +} + diff --git a/man/plrs.select-class.Rd b/man/plrs.select-class.Rd new file mode 100644 index 0000000..eb71a70 --- /dev/null +++ b/man/plrs.select-class.Rd @@ -0,0 +1,33 @@ +\name{plrs.select-class} +\Rdversion{1.1} +\docType{class} +\alias{plrs.select-class} +\alias{print,plrs.select-method} +\alias{show,plrs.select-method} +\alias{summary,plrs.select-method} + +\title{Class \code{plrs.select}} +\description{ +An S4 class representing the output of the \code{\link{plrs.select}} function. +} + +\section{Slots}{ + \describe{ + \item{\code{table}:}{Object of class \code{matrix} containing the criterion value for all models} + \item{\code{model}:}{Object of class \code{plrs} containing the selected model} + \item{\code{crit}:}{Object of class \code{character} containing the criterion used for model selection} + } +} + +\section{Methods}{ + \describe{ + \item{plot}{See \code{\link{plot.plrs}}} + \item{print}{Print the object information} + \item{show}{Print the object information} + \item{summary}{Print a summary of the object information} + } +} + +\author{Gwenael G.R. Leday \email{g.g.r.leday@vu.nl}} + + diff --git a/man/plrs.select.Rd b/man/plrs.select.Rd new file mode 100644 index 0000000..80600f9 --- /dev/null +++ b/man/plrs.select.Rd @@ -0,0 +1,30 @@ +\name{plrs.select} +\alias{plrs.select} +\alias{plrs.select,ANY} + +\title{Model selection} + +\description{Selection of a model based on an information criterion (AIC, AICC, BIC or OSAIC).} + +\usage{ +plrs.select(object, crit = ifelse(object@call.arg$constr,"osaic","aic")) +} + +\arguments{ + \item{object}{An object of class \code{\link{plrs-class}}} + \item{crit}{Character corresponding to the criterion to use. See \code{\link{criteria}}.} +} + +%\details{ + +%} + +\value{An object of class \code{\link{plrs.select-class}} +} + +\author{Gwenael G.R. Leday \email{g.g.r.leday@vu.nl}} + +%\note{} +%\seealso{} +%\examples{} +%\keyword{} diff --git a/man/plrs.series-class.Rd b/man/plrs.series-class.Rd new file mode 100644 index 0000000..8739abd --- /dev/null +++ b/man/plrs.series-class.Rd @@ -0,0 +1,35 @@ +\name{plrs.series-class} +\Rdversion{1.1} +\docType{class} +\alias{plrs.series-class} +\alias{print,plrs.series-method} +\alias{show,plrs.series-method} +\alias{summary,plrs.series-method} + +\title{Class \code{plrs.series}} +\description{ +An S4 class representing the output of the \code{\link{plrs.series}} function. +} + +\section{Slots}{ + \describe{ + \item{\code{coefficients}:}{Matrix containing coefficients of models} + \item{\code{effects}:}{List containing effects} + \item{\code{test}:}{Matrix containing results from testing.} + \item{\code{general}:}{Matrix providing the distribution of the number genes and arrays regarding the copy number states} + \item{\code{modelsType}:}{List providing models' type} + \item{\code{call.arg}:}{List providing details on the type of models that have been fitted.} + } +} + +\section{Methods}{ + \describe{ + \item{print}{Print the object information} + \item{show}{Print the object information} + \item{summary}{Print a summary of the object information} + } +} + +\author{Gwenael G.R. Leday \email{g.g.r.leday@vu.nl}} + + diff --git a/man/plrs.series.Rd b/man/plrs.series.Rd new file mode 100644 index 0000000..4004927 --- /dev/null +++ b/man/plrs.series.Rd @@ -0,0 +1,101 @@ +\name{plrs.series} +\alias{plrs.series} + +\title{ +Fit plrs models for a series of arrays. +} + +\description{ +The function fits \code{plrs} models for a series of arrays. Model selection and testing procedures may be applied. +} + +\usage{ +plrs.series(expr, cghseg, cghcall=NULL, +probloss = NULL, probnorm = NULL, probgain = NULL, probamp = NULL, +control.model = list(continuous = FALSE, + constr = TRUE, + constr.slopes = 2, + constr.intercepts = TRUE, + min.obs = 3, + discard.obs = TRUE), +control.select = list(crit = ifelse(control.model$constr, "osaic","aic")), +control.test = list(testing = TRUE, + cb = FALSE, + alpha = 0.05), +control.output = list(save.models = FALSE, + save.plots = FALSE, + plot.lin = FALSE, + type = "jpeg")) +} + +\arguments{ + \item{expr}{Either a matrix of expression profiles or an \code{\link[Biobase]{ExpressionSet}} object.} + \item{cghseg}{Either a matrix of segmented copy number values or objects of class \code{\link[CGHbase]{cghSeg}} or \code{\link[CGHbase]{cghCall}}} + \item{cghcall}{Matrix of called copy number} + \item{probloss}{Matrix of call probabilities associated with state "loss". Default is \code{NULL}.} + \item{probnorm}{Matrix of call probabilities associated with state "normal". Default is \code{NULL}.} + \item{probgain}{Matrix of call probabilities associated with state "gain". Default is \code{NULL}.} + \item{probamp}{Matrix of call probabilities associated with state "amplification". Default is \code{NULL}.} + \item{control.model}{See details} + \item{control.select}{See details} + \item{control.test}{See details} + \item{control.output}{See details} +} + +\details{ +If DNA and mRNA input data are matrices, rows should correspond to genes and columns to arrays. +Alternatively, expression data may be provided as an \code{\link[Biobase]{ExpressionSet}} object and aCGH data +as \code{\link[CGHbase]{cghSeg}} or \code{\link[CGHbase]{cghCall}} objects. A \code{\link[CGHbase]{cghCall}} object +contain all data from the calling step, thus arguments \code{probloss}, \code{probnorm}, \code{probnorm} and \code{probamp} +can be omitted. An object of class \code{\link[CGHbase]{cghSeg}} does not contain such data so only simple linear models +will be fitted.\cr +\cr +\code{control.model} allows the user to specify the type of model that has to be fitted. +This must be a \code{list} with one or more of the following components: +\code{constr}, \code{constr.slopes}, \code{constr.intercepts}, \code{min.obs} and \code{discard.obs}. +See functions \code{\link{plrs}} and \code{\link{modify.conf}} for more details.\cr +\cr +\code{control.select} allows the user to specify whether model selection should be done and how. +This must be a \code{list} with a component named \code{crit}. See function \code{\link{plrs.select}} for more details. +If \code{control.select = NULL} then no model selection is done. \cr +\cr +\code{control.output} allows the user to plot and save each \code{plrs} model. This must be a list with components:\cr +\code{save.models}, a logical. This will create within the work directory a new directory named "plrsSeriesObjects" that will contain all objects.\cr +\code{save.plots}, a logical. This will create within the work directory a new directory named "plrsSeriesPlots" that will contains all saved plots.\cr +\code{plot.lin}, a logical. Whether the simple linear model should aslo be plotted.\cr +\code{type}, a character. Format of file. To pass through function \code{\link[grDevices]{savePlot}}.\cr +} + +\value{An object of class \code{\link{plrs.series-class}}} + +\author{Gwenael G.R. Leday \email{g.g.r.leday@vu.nl}} + +%\note{} +%\seealso{} + +\examples{ + +# Simulate data +ngenes <- 10 +narray <- 48 +rna <- dnaseg <- dnacal <- matrix(NA, ngenes, narray) +idx <- sample(1:4, ngenes, replace=TRUE, prob=rep(1/4,4)) +for(i in 1:ngenes){ + Sim <- plrs.sim(n=narray, states=idx[i], sigma=0.5) + rna[i,] <- Sim$expr + dnaseg[i,] <- Sim$seg + dnacal[i,] <- Sim$cal +} + + +# Screening procedure with linear model +series <- plrs.series(expr = rna, cghseg = dnaseg, cghcall = NULL, control.select = NULL) + +# Screening procedure with full plrs model +series <- plrs.series(expr = rna, cghseg = dnaseg, cghcall = dnacal, control.select = NULL) + +# Model selection +series <- plrs.series(expr = rna, cghseg = dnaseg, cghcall = dnacal) + +} + diff --git a/man/plrs.sim.Rd b/man/plrs.sim.Rd new file mode 100644 index 0000000..9fd5c54 --- /dev/null +++ b/man/plrs.sim.Rd @@ -0,0 +1,55 @@ +\name{plrs.sim} +\alias{plrs.sim} + +\title{ +Simulation of a plrs model +} + +\description{ +Simulation of a piecewise relationship.\cr +\cr +The function has been only implemented for convenience of simulations and R examples.\cr +} + +\usage{ +plrs.sim(n = 80, states = 4, sigma = 01, x = NULL) +} + +\arguments{ + \item{n}{Number of simulated data points} + \item{states}{Number of states for the model} + \item{sigma}{Noise} + \item{x}{Segmented values.} +} + +\details{ +To be written... +} + +%\value{} + +\author{Gwenael G.R. Leday \email{g.g.r.leday@vu.nl}} + +\examples{ + +# Simulate 1-state model +sim <- plrs.sim(n=80, states=1, sigma=0.5) +model <- plrs(expr=sim$expr, cghseg=sim$seg, cghcall=sim$cal) +plot(model) + +# Simulate 2-state model +sim <- plrs.sim(n=80, states=2, sigma=0.5) +model <- plrs(expr=sim$expr, cghseg=sim$seg, cghcall=sim$cal) +plot(model) + +# Simulate 3-state model +sim <- plrs.sim(n=90, states=3, sigma=0.5) +model <- plrs(expr=sim$expr, cghseg=sim$seg, cghcall=sim$cal) +plot(model) + +# Simulate 4-state model +sim <- plrs.sim(n=80, states=4, sigma=0.5) +model <- plrs(expr=sim$expr, cghseg=sim$seg, cghcall=sim$cal) +plot(model) + +} diff --git a/man/plrs.test.Rd b/man/plrs.test.Rd new file mode 100644 index 0000000..ae90982 --- /dev/null +++ b/man/plrs.test.Rd @@ -0,0 +1,70 @@ +\name{plrs.test} +\alias{plrs.test} + +\title{Likelihood ratio test for a \code{plrs} model} + +\description{Test whether copy number has an effect on mRNA expression.} + +\usage{ +plrs.test(object, alpha=0.05) +} + +\arguments{ + \item{object}{An object of class \code{\link{plrs-class}}} + \item{alpha}{Significance level} +} + +\details{ +Two cases present themselves:\cr +\cr +1. The model is unconstrained. Thus, the model under the null hypothesis is the intercept +and an F-test is performed.\cr +\cr +2. The model is constrained and the following hypothesis are tested: \cr +H0: All constraints are actives (=)\cr +H1: At least one constraint is strict (>)\cr +Under H0, we always have the intercept model. Indeed, if \code{constr.slopes = 1} (or 2) and +\code{constr.intercepts = T}, then the only parameter free of inequality constraint is the +overall intercept. If \code{constr.intercepts = F}, the local intercepts are additionnaly +constrained to be 0 in order to obtain the intercept model under the null. +The likelihood ratio statistic (unknown variance) is asymptotically distributed as a +weighted mixture of Beta distribution (cf Gromping (2010)). Calculation of p-values is based on +functions \code{ic.weights} and \code{pbetabar} of package \pkg{ic.infer}. The package +\pkg{mvtnorm} is also involved.\cr +\cr +In both cases the input model is taken as the model under the alternative. +} + +\value{A \code{list} object with the following components: + \item{stat}{Test statistic} + \item{pvalue}{Calculated pvalue} + \item{wt.bar}{Weights (if the model is constrained)} + \item{df.bar}{Degrees of freedom.} + \item{unconstr}{Unconstrained model of class \code{\link{plrs-class}}} + \item{qbetabar}{(1-\code{alpha}) quantile of the beta mixture distribution} + \item{alpha}{Significance level} +} + +\references{ +Gromping, U. (2010). Inference with linear equality and inequality constraints using +R: The package ic.infer. \emph{J Stat Softw}, 33(i10). +} + +\author{Gwenael G.R. Leday \email{g.g.r.leday@vu.nl}} + +%\note{} +%\seealso{} +\examples{ + +# Simulate data +sim <- plrs.sim(n=80, states=2, sigma=0.5) + +# Fit a model +model <- plrs(expr=sim$expr, cghseg=sim$seg, cghcall=sim$cal) + +# Testing +model <- plrs.test(model) +model + +} + diff --git a/man/predict.plrs.Rd b/man/predict.plrs.Rd new file mode 100644 index 0000000..df05381 --- /dev/null +++ b/man/predict.plrs.Rd @@ -0,0 +1,30 @@ +\name{predict.plrs} +\alias{predict.plrs} + +\title{Predict method for \code{plrs} models} + +\description{Determine predicted values based on a given plrs model} + +\usage{ +\method{predict}{plrs}(object, newcghseg, ...) +} + +\arguments{ + \item{object}{An object of class \code{\link{plrs-class}}} + \item{newcghseg}{A vector of new segmented CGH values} + \item{...}{further arguments} +} + +%\details{} + +\value{A \code{vector} containing the fitted values. +} + +%\references{} + +\author{Gwenael G.R. Leday \email{g.g.r.leday@vu.nl}} + +%\note{} +%\seealso{} +%\examples{} +%\keyword{}