R/get.ttest.and.foldchange.R

Defines functions get.ttest.and.foldchange

# The NanoStringNorm package is copyright (c) 2012 Ontario Institute for Cancer Research (OICR)
# This package and its accompanying libraries is free software; you can redistribute it and/or modify it under the terms of the GPL
# (either version 1, or at your option, any later version) or the Artistic License 2.0.  Refer to LICENSE for the full license text.
# OICR makes no representations whatsoever as to the SOFTWARE contained herein.  It is experimental in nature and is provided WITHOUT
# WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE OR ANY OTHER WARRANTY, EXPRESS OR IMPLIED. OICR MAKES NO REPRESENTATION
# OR WARRANTY THAT THE USE OF THIS SOFTWARE WILL NOT INFRINGE ANY PATENT OR OTHER PROPRIETARY RIGHT.
# By downloading this SOFTWARE, your Institution hereby indemnifies OICR against any loss, claim, damage or liability, of whatsoever kind or
# nature, which may arise from your Institution's respective use, handling or storage of the SOFTWARE.
# If publications result from research using this SOFTWARE, we ask that the Ontario Institute for Cancer Research be acknowledged and/or
# credit be given to OICR scientists, as scientifically appropriate.

get.ttest.and.foldchange <- function(x, group1, group2, logged = FALSE, paired = FALSE) {
	group1[is.na(group1)] <- FALSE;
	group2[is.na(group2)] <- FALSE;
	
	tryCatch(
		expr = c(
			t.test(
				x[group1],
				x[group2],
				paired = paired,
				var.equal = FALSE,
				alternative = 'two.sided',
				)$p.value,
			if (logged == TRUE) { round(mean(x[group2], na.rm = TRUE) - mean(x[group1], na.rm = TRUE),1); } else { round(mean(x[group2], na.rm = TRUE) / mean(x[group1], na.rm = TRUE),1); }
			),
		 error = function(e) { return ( c(NA, NA)); }
		 );
	}

Try the NanoStringNorm package in your browser

Any scripts or data that you put into this service are public.

NanoStringNorm documentation built on Sept. 13, 2020, 5:08 p.m.