Sample data is as follows (for simplicity assume mat1 and mat2 are the same matrices). Also attached as an excel file.
I want to get the pairwise interaction fischer test results. Not just the pvalues but also want to wrote the n00, n01, n10 and n11 in the file as: ADCK2_mat1 ADCK3_mat2 n00 n01 n10 n11 pvalue ADCK2_mat1 ADCK4_mat2 n00 n01 n10 n11 pvalue GENE SYMBOL Sample-A1-A0SK-01 Sample-A1-A0SO-01 Sample-A1-A0SP-01 Sample-A2-A04P-01 Sample-A2-A04Q-01 Sample-A2-A04U-01 Sample-A2-A0CL-01 Sample-A2-A0CM-01 Sample-A2-A0D0-01 Sample-A2-A0D2-01 Sample-A2-A0ST-01 Sample-A2-A0SX-01 Sample-A2-A0T0-01 ADCK2 0 0 0 0 0 0 0 0 0 1 0 0 0 ADCK3 0 0 0 0 0 1 0 0 1 0 0 1 0 ADCK4 0 0 0 0 0 0 0 0 0 0 0 1 0 ADCK5 1 0 0 0 0 0 0 0 0 0 0 0 1 ADRBK1 0 0 0 0 0 0 0 0 0 0 0 0 0 ADRBK2 0 0 0 0 0 1 0 0 0 0 0 0 0 AKT1 0 0 0 0 0 0 0 0 0 0 0 0 0 AKT2 0 0 0 0 0 0 0 0 0 0 0 1 0 AKT3 0 0 0 0 0 0 0 0 1 0 0 1 0 ALK 0 0 0 0 0 0 0 0 0 0 0 0 0 On Mon, Jun 24, 2013 at 11:03 AM, Adams, Jean <jvad...@usgs.gov> wrote: > Could you provide an example of mat1 and mat2 as well as an example of the > output you would like from them. > > Your code is very difficult to follow as written. It will be easier for > readers of the list to interpret if you use carriage returns rather than > semi colons, for example ... > > fish <- function(x, y) { > n00 = sum((1-x)*(1-y)) > n01 = sum((1-x)*y) > n10 = sum(x*(1-y)) > n11 = sum(x*y) > a = matrix(c(n00, n01, n10, n11), nrow=2) > pval = fisher.test(a)$p.value > return(pval) > } > > Jean > > > On Mon, Jun 24, 2013 at 6:09 AM, Angel Russo <angerusso1...@gmail.com>wrote: > >> ** >> >> I am using the following way to get p-values from fiser exact test. >> However, I do need to print for each pair the values "n00, n01, n10, n11". >> How can I print that as a table and not a matrix as below along with the >> p-value? Any help will be greatly appreciated >> >> fish <- function(y, x) {n00 = sum((1-x)*(1-y)); n01 = sum((1-x)*y); >> n10 = sum(x*(1-y)); n11 = sum(x*y); a = matrix(c(n00, n01, n10, n11), >> nrow = 2); pval = fisher.test(a)$p.value; return(pval);} >> >> chiArray <- function(x) { apply(mat1, 1, fish, x); } >> sapply(1:nrow(mat2), function(j){chiArray(mat2[j, ]);}); >> chisq.cna.mut.test <- sapply(1:nrow(mat2), function(j){chiArray(mat2[j, >> ]);}); >> >> I want output to be: >> >> name1_mat1 name1_mat2 n00 n01 n10 n11 pvalue >> >> >> >> name1_mat1 name2_mat2 n00 n01 n10 n11 pvalue >> >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> R-help@r-project.org mailing list >> https://stat.ethz.ch/mailman/listinfo/r-help >> PLEASE do read the posting guide >> http://www.R-project.org/posting-guide.html >> and provide commented, minimal, self-contained, reproducible code. >> > >
GENE SYMBOL Sample-A1-A0SK-01 Sample-A1-A0SO-01 Sample-A1-A0SP-01 Sample-A2-A04P-01 Sample-A2-A04Q-01 Sample-A2-A04U-01 Sample-A2-A0CL-01 Sample-A2-A0CM-01 Sample-A2-A0D0-01 Sample-A2-A0D2-01 Sample-A2-A0ST-01 Sample-A2-A0SX-01 Sample-A2-A0T0-01 ADCK2 0 0 0 0 0 0 0 0 0 1 0 0 0 ADCK3 0 0 0 0 0 1 0 0 1 0 0 1 0 ADCK4 0 0 0 0 0 0 0 0 0 0 0 1 0 ADCK5 1 0 0 0 0 0 0 0 0 0 0 0 1 ADRBK1 0 0 0 0 0 0 0 0 0 0 0 0 0 ADRBK2 0 0 0 0 0 1 0 0 0 0 0 0 0 AKT1 0 0 0 0 0 0 0 0 0 0 0 0 0 AKT2 0 0 0 0 0 0 0 0 0 0 0 1 0 AKT3 0 0 0 0 0 0 0 0 1 0 0 1 0 ALK 0 0 0 0 0 0 0 0 0 0 0 0 0
______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.