print.poolr.RdPrint method for objects of class "poolr".
# S3 method for class 'poolr'
60 | print(x, digits=3, ...)The output shows the combined \(p\)-value (with the specified number of significant digits), the test statistic (and its assumed null distribution), and the adjustment method that was applied.
79 |The function does not return an object.
83 |grid2ip.RdResults from testing the association between depressive symptoms (as measured with the CES-D scale) and 23 single-nucleotide polymorphisms (SNPs) in the GRID2IP gene based on a sample of 886 adolescents (Van Assche et al., 2017).
56 |grid2ip.p
60 | grid2ip.ld
61 | grid2ip.geno
62 | grid2ip.phenoObject grid2ip.p is a vector with the 23 \(p\)-values of the tests (two-sided). Object grid2ip.ld contains a matrix with the linkage disequilibrium (LD) correlations among the 23 SNPs. grid2ip.geno is a matrix that contains the genotypes of the adoloscents for the 23 SNPs. grid2ip.pheno is a vector with the phenotype for the adoloscents (the log-transformed CES-D scale values).
Van Assche, E., Moons, T., Cinar, O., Viechtbauer, W., Oldehinkel, A. J., Van Leeuwen, K., Verschueren, K., Colpin, H., Lambrechts, D., Van den Noortgate, W., Goossens, L., Claes, S., & van Winkel, R. (2017). Gene-based interaction analysis shows GABAergic genes interacting with parenting in adolescent depressive symptoms. Journal of Child Psychology and Psychiatry, 58(12), 1301–1309. https://doi.org/10.1111/jcpp.12766
mvnlookup.RdLookup table for the mvnconv function.
mvnlookupThe data frame contains the following columns:
| rhos | numeric | correlations among the test statistics |
| m2lp_1 | numeric | \(\mbox{Cov}[-2 \ln(p_i), -2 \ln(p_j)]\) (for one-sided tests) |
| m2lp_2 | numeric | \(\mbox{Cov}[-2 \ln(p_i), -2 \ln(p_j)]\) (for two-sided tests) |
| z_1 | numeric | \(\mbox{Cov}[\Phi^{-1}(1 - p_i), \Phi^{-1}(1 - p_j)]\) (for one-sided tests) |
| z_2 | numeric | \(\mbox{Cov}[\Phi^{-1}(1 - p_i), \Phi^{-1}(1 - p_j)]\) (for two-sided tests) |
| chisq1_1 | numeric | \(\mbox{Cov}[F^{-1}(1 - p_i, 1), F^{-1}(1 - p_j, 1)]\) (for one-sided tests) |
| chisq1_2 | numeric | \(\mbox{Cov}[F^{-1}(1 - p_i, 1), F^{-1}(1 - p_j, 1)]\) (for two-sided tests) |
| p_1 | numeric | \(\mbox{Cov}[p_i, p_j]\) (for one-sided tests) |
| p_2 | numeric | \(\mbox{Cov}[p_i, p_j]\) (for two-sided tests) |
Assume \[\begin{bmatrix} t_i \\ t_j \end{bmatrix} \sim \mbox{MVN} \left(\begin{bmatrix} 0 \\ 0 \end{bmatrix}, \begin{bmatrix} 1 & \rho_{ij} \\ \rho_{ij} & 1 \end{bmatrix} \right)\] is the joint distribution for test statistics \(t_i\) and \(t_j\). For one-sided tests, let \(p_i = 1 - \Phi(t_i)\) and \(p_j = 1 - \Phi(t_j)\) where \(\Phi(\cdot)\) denotes the cumulative distribution function of a standard normal distribution. For two-sided tests, let \(p_i = 2(1 - \Phi(|t_i|))\) and \(p_j = 2(1 - \Phi(|t_j|))\). These are simply the one- and two-sided \(p\)-values corresponding to \(t_i\) and \(t_j\).
68 |Columns p_1 and p_2 contain the values for \(\mbox{Cov}[p_i, p_j]\).
Columns m2lp_1 and m2lp_2 contain the values for \(\mbox{Cov}[-2 \ln(p_i), -2 \ln(p_j)]\).
Columns chisq1_1 and chisq1_2 contain the values for \(\mbox{Cov}[F^{-1}(1 - p_i, 1), F^{-1}(1 - p_j, 1)]\), where \(F^{-1}(\cdot,1)\) denotes the inverse of the cumulative distribution function of a chi-square distribution with one degree of freedom.
Columns z_1 and z_2 contain the values for \(\mbox{Cov}[\Phi^{-1}(1 - p_i), \Phi^{-1}(1 - p_j)]\), where \(\Phi^{-1}(\cdot)\) denotes the inverse of the cumulative distribution function of a standard normal distribution.
Computation of these covariances required numerical integration. The values in this table were precomputed.
73 |added the reference to the publication in the Journal of Statistical Software
fixed an issue where the Bonferroni and Tippett methods were not identical with adjust = "empirical" when the observed Bonferroni-adjusted p-value is equal to 1
added the method by Chen & Liu (2011) for estimating the effective number of tests via adjust = "chen"
changed name of binotest() function to binomtest()
the HTML help files now show rendered equations with the help of the mathjaxr package
increased resolution of mvnlookup table (now in steps of .001)
meff() function now issues a warning if there are negative eigenvalues (and if they were set to 0 for method="galway")
added nearpd argument to all base functions; if TRUE, a negative definite R matrix will be turned into the nearest positive semi-definite matrix (only for adjust="empirical" and adjust="generalized")
implemented a simplified version of Matrix::nearPD(); hence, dependence on the package Matrix was removed
added a more specific test on p and eigen that they are numeric vectors
improved the pkgdown docs and added a quick start guide
changed the way the pseudo replicates are generated in empirical() to a more stable method
slight improvements to the output of print.poolr() when using the effective number of tests or empirical distribution adjustments
mvnconv() now uses the variances from the lookup table instead of cov2cor() for the transformation when cov2cor=TRUE
added a check on R (where appropriate) that its diagonal values are all equal to 1
added a check on p to convert it into a numeric vector if it is a matrix with 1 row
53 | Package Introduction54 |Introduction to the package. 55 | |
56 | |
|---|---|
| 57 | 58 | | 59 |Methods for Pooling P-Values from (Dependent) Tests |
60 |
61 | Base Methods62 |Functions to combine independent and dependent p-values. 63 | |
64 | |
| 65 | 66 | | 67 |Fisher's Method |
68 |
| 69 | 70 | | 71 |Stouffer's Method |
72 |
| 73 | 74 | | 75 |Inverse Chi-Square Method |
76 |
| 77 | 78 | | 79 |Binomial Test |
80 |
| 81 | 82 | | 83 |Bonferroni Method |
84 |
| 85 | 86 | | 87 |Tippett's Method |
88 |
89 | Support Functions90 |Functions to support the functionality of the base methods.. 91 | |
92 | |
| 93 | 94 | | 95 |Simulate Empirically-Derived Null Distributions |
96 |
| 97 | 98 | | 99 |Estimate the Effective Number of Tests |
100 |
| 101 | 102 | | 103 |Convert Correlations Among Multivariate Normal Test Statistics to Covariances for Various Target Statistics |
104 |
| 105 | 106 | | 107 |Print Method for 'poolr' Objects |
108 |
109 | Datasets110 |Functions for creating various types of plots. 111 | |
112 | |
| 113 | 114 | | 115 |Results from testing the association between depressive symptoms and 23 SNPs in the GRID2IP gene |
116 |
| 117 | 118 | | 119 |Lookup Table for the mvnconv() Function |
120 |
poolr-package.Rd67 | The poolr package contains functions for pooling/combining the results (i.e., \(p\)-values) from (dependent) hypothesis tests. Included are Fisher's method, Stouffer's method, the inverse chi-square method, the Bonferroni method, Tippett's method, and the binomial test. Each method can be adjusted based on an estimate of the effective number of tests or using empirically-derived null distribution using pseudo replicates. For Fisher's, Stouffer's, and the inverse chi-square method, direct generalizations based on multivariate theory are also available (leading to Brown's method, Strube's method, and the generalized inverse chi-square method). For more details, see:
68 |fisher: for Fisher's method (and Brown's method)
stouffer: for Stouffer's method (and Strube's method)
invchisq: for the inverse chi-square method
bonferroni: for the Bonferroni method
tippett: for Tippett's method
binomtest: for the binomial test
Note that you can also read the documentation of the package online at https://ozancinar.github.io/poolr/ (where it is nicely formatted and the output from all examples is provided).
75 |Brown, M. B. (1975). 400: A method for combining non-independent, one-sided tests of significance. Biometrics, 31(4), 987–992. https://doi.org/10.2307/2529826
Cinar, O. & Viechtbauer, W. (2022). The poolr package for combining independent and dependent p values. Journal of Statistical Software, 101(1), 1–42. https://doi.org/10.18637/jss.v101.i01
Fisher, R. A. (1932). Statistical Methods for Research Workers (4th ed.). Edinburgh: Oliver and Boyd.
88 |Lancaster, H. O. (1961). The combination of probabilities: An application of orthonormal functions. Australian Journal of Statistics, 3(1), 20–33. https://doi.org/10.1111/j.1467-842X.1961.tb00058.x
Strube, M. J. (1985). Combining and comparing significance levels from nonindependent hypothesis tests. Psychological Bulletin, 97(2), 334–341. https://doi.org/10.1037/0033-2909.97.2.334
Tippett, L. H. C. (1931). Methods of Statistics. London: Williams Norgate.
91 |Wilkinson, B. (1951). A statistical consideration in psychological research. Psychological Bulletin, 48(2), 156–158. https://doi.org/10.1037/h0059111
The poolr package contains functions for pooling/combining the results (i.e., p-values) from (dependent) hypothesis tests. Included are Fisher’s method, Stouffer’s method, the inverse chi-square method, the Bonferroni method, Tippett’s method, and the binomial test. Each method can be adjusted based on an estimate of the effective number of tests or using empirically derived null distribution using pseudo replicates. For Fisher’s, Stouffer’s, and the inverse chi-square method, direct generalizations based on multivariate theory are also available (leading to Brown’s method, Strube’s method, and the generalized inverse chi-square method).
You can read the documentation of the poolr package online at https://ozancinar.github.io/poolr/ (where it is nicely formatted, equations are shown correctly, and the output from all examples is provided).
The current official (i.e., CRAN) release can be installed directly within R with:
88 |
89 | install.packages("poolr")After installing the remotes package with install.packages("remotes"), the development version of the poolr package can be installed with:
92 | remotes::install_github("ozancinar/poolr")The poolr package was written by Ozan Cinar and Wolfgang Viechtbauer. It is licensed under the GNU General Public License Version 2. To report any issues or bugs, please go here.