gugl58
1/30/2018 - 1:41 PM

cox.single.univariate

Calculate coxmodels for all rows of a given matrix. Supply optional covariates

cox.single.univariate <- function(exprmat
								  ,pheno.df
								  ,survtimename = "OS"
								  ,surveventname = "OS_STAT"
								  ,single.corr.formulastring = c("+rituximab+Version")
								  ,single.corr.formulastring.name = "RituxVersion"){
	
	# exprmat.numbercol <- cbind(1:nrow(exprmat), exprmat)
	univariate.models <- apply(exprmat, 1, function(geneX){
		single.cox(response = geneX
				   ,pheno.df = pheno.df
				   ,survtimename = survtimename
				   ,surveventname = surveventname
				   ,single.corr.formulastring = single.corr.formulastring
				   ,single.corr.formulastring.name = single.corr.formulastring.name
				   ,responsename = NA)
	})
	names(univariate.models) <- rownames(exprmat)
	pval.per.gene <- sapply(univariate.models, function(coxModelX)summary(coxModelX)$coef[1, c(1, 5)]) 
	pval.df <- tibble::tibble("Gene"=colnames(pval.per.gene)
							  , "pValue"=pval.per.gene[2, ]
							  , "pValBonferroni"=pval.per.gene[2, ]*length(pval.per.gene)
							  ,"coef"=pval.per.gene[1, ])
}