My data is setup as in the MetaDE vignette:
-
gene_tstats
&gene_pvals
are matrices with rownames corresponding to gene names and moderated t-statistic / p-values for each study. -
gene_tstats
andgene_pvals
have the same column names and dimensions (20917 * 3) and no NA values (although this shouldn't matter?)
data <- list(stat=gene_tstats, p=gene_pvals) metade <- MetaDE.pvalue(data, meta.method='AW.OC')
I get this error:
Warning message: In get.AW.OC(x$p, x$bp): there're no parametric results for Pearson's method,we will use simulation to estimate the p valuesWarning message: In matrix(Vb[, i], nr, np/nr): data length exceeds size of matrixWarning message: In matrix(Vb[, i], nr, np/nr): data length exceeds size of matrixWarning message: In matrix(Vb[, i], nr, np/nr): data length exceeds size of matrixWarning message: In matrix(Vb[, i], nr, np/nr): data length exceeds size of matrixWarning message: In matrix(Vb[, i], nr, np/nr): data length exceeds size of matrixWarning message: In matrix(Vb[, i], nr, np/nr): data length exceeds size of matrixWarning message: In matrix(Vb[, i], nr, np/nr): data length exceeds size of matrix Error in xj[i]: invalid subscript type 'list'
If I use a subset of my data, there are no error messages:
data100 <- list(stat=gene_tstats[1:100,], p=gene_pvals[1:100,]) metade <- MetaDE.pvalue(data100, meta.method='AW.OC') Warning message: In get.AW.OC(x$p, x$bp): there're no parametric results for Pearson's method,we will use simulation to estimate the p values
Larger subsets produce different warning messages but do return a result successfully:
data2000 <- list(stat=gene_tstats[1:2000,], p=gene_pvals[1:2000,]) metade <- MetaDE.pvalue(data2000, meta.method='AW.OC') Warning message: In get.AW.OC(x$p, x$bp): there're no parametric results for Pearson's method,we will use simulation to estimate the p valuesWarning message: In matrix(Vb[, i], nr, np/nr): data length [5000] is not a sub-multiple or multiple of the number of rows [2000]Warning message: In matrix(Vb[, i], nr, np/nr): data length [5000] is not a sub-multiple or multiple of the number of rows [2000]Warning message: In matrix(Vb[, i], nr, np/nr): data length [5000] is not a sub-multiple or multiple of the number of rows [2000]Warning message: In matrix(Vb[, i], nr, np/nr): data length [5000] is not a sub-multiple or multiple of the number of rows [2000]Warning message: In matrix(Vb[, i], nr, np/nr): data length [5000] is not a sub-multiple or multiple of the number of rows [2000]Warning message: In matrix(Vb[, i], nr, np/nr): data length [5000] is not a sub-multiple or multiple of the number of rows [2000]Warning message: In matrix(Vb[, i], nr, np/nr): data length [5000] is not a sub-multiple or multiple of the number of rows [2000]
This only works up to a point:
data10000 <- list(stat=gene_tstats[1:10000,], p=gene_pvals[1:10000,]) metade <- MetaDE.pvalue(data10000, meta.method='AW.OC') Warning message: In get.AW.OC(x$p, x$bp): there're no parametric results for Pearson's method,we will use simulation to estimate the p valuesWarning message: In matrix(Vb[, i], nr, np/nr): data length exceeds size of matrixWarning message: In matrix(Vb[, i], nr, np/nr): data length exceeds size of matrixWarning message: In matrix(Vb[, i], nr, np/nr): data length exceeds size of matrixWarning message: In matrix(Vb[, i], nr, np/nr): data length exceeds size of matrixWarning message: In matrix(Vb[, i], nr, np/nr): data length exceeds size of matrixWarning message: In matrix(Vb[, i], nr, np/nr): data length exceeds size of matrixWarning message: In matrix(Vb[, i], nr, np/nr): data length exceeds size of matrix Error in xj[i]: invalid subscript type 'list'
I't seems to be something related to the number of genes I want to do a meta analysis for. Suggestions on how to resolve (other than to subset my data)?
Have you considered streamlining how you handle data input to mitigate these issues. It might help to define the parameters more strictly before feeding them into the function. On a lighter note, if you ever need a break from the code, have you tried playing Snow Rider 3d.