Molecular structure drives PFAS accumulation but not phytotoxicity in aquatic macrophytes: a systematic review and meta-analysis
Description
Complete extracted dataset, data dictionary, and analysis scripts (Python and R) that reproduce every statistic in the associated systematic review and meta-analysis of PFAS effects on aquatic macrophytes. Includes the effect-size and bioaccumulation data (CSV), a codebook, the meta-analytic estimators implemented directly in base R and in Python (metareg.py), data-cleaning/export scripts, and a verification script (shadow_check.py) that regenerates and checks all 340 reported statistics. See README for structure and run instructions.
Files
Steps to reproduce
This package regenerates every statistic and figure in the article. All estimators are implemented directly in base R and in Python, so results do not depend on any package version. Download and unzip the package. The analysis-ready data are in R_reproduction_bundle/data/ — 11 CSV tables plus data_dictionary.csv, which defines every column. Reproduce the analyses and figures (R, no packages required). Open a terminal in R_reproduction_bundle/ and run: Rscript R/99_run_all.R. This runs one script per manuscript section (R/01–08), writes every main and supplementary figure to figures/, and writes output/verification_report.csv, listing each of the 340 published statistics beside the value your run produced with a match/DIFFERS flag. A clean run reports "340 statistics, 340 match" and takes under a minute. If metafor happens to be installed, script 04 also prints its independent estimate of the headline pooled effect as a cross-check; nothing depends on it. Independently verify every reported number (Python). From the package root run: python3 shadow_check.py, which recomputes all reported statistics and prints "340 expected statistics: 340 match". (Optional) Rebuild the analysis-ready CSVs from the raw extraction workbook using the scripts in provenance/ (build_csvs_from_workbook.py) together with export_csv.py and clean_core.py. Software: R (base, ≥4.0 recommended) and Python 3 (standard library only; no third-party packages required). Estimators: Paule–Mandel τ², cluster-robust RVE sandwich variance with the m/(m−1) small-sample adjustment clustered by experiment, omnibus Wald F-tests, Higgins–Thompson I², and cluster-robust OLS for the accumulation strand.
Institutions
- University of Chinese Academy of SciencesBeijing, Beijing