From bc89a3991817cf2b1f54cffc9ace745d6d531d65 Mon Sep 17 00:00:00 2001 From: Daehwan Kim <87584921+daehwankim12@users.noreply.github.com> Date: Fri, 18 Oct 2024 11:32:22 +0900 Subject: [PATCH] Update readme --- R/mediation_analysis.R | 31 ++++++++- README.md | 137 +++++++++++++++---------------------- man/mediation_analysis.Rd | 31 ++++++++- src/fastmed.so | Bin 19467168 -> 19467168 bytes src/mediation_analysis.cpp | 3 +- src/mediation_analysis.o | Bin 25495624 -> 25495624 bytes 6 files changed, 117 insertions(+), 85 deletions(-) diff --git a/R/mediation_analysis.R b/R/mediation_analysis.R index 3ab4ef1..df4a6f0 100644 --- a/R/mediation_analysis.R +++ b/R/mediation_analysis.R @@ -9,9 +9,36 @@ #' @param num_threads An integer specifying the number of threads to use for parallel processing. Default is the number of available cores detected by `parallel::detectCores()`. #' @return None. The results are written to the specified `output_file` in CSV format. #' -#' @details -#' ... (rest of the documentation remains the same) +#' @details This function estimates the following effects: +#' * **Indirect Effect (t1):** The effect of the exposure on the outcome through the mediator when the exposure is set to its value at t=1 (typically meaning its presence or a higher level). +#' * **Indirect Effect (t0):** The effect of the exposure on the outcome through the mediator when the exposure is set to its value at t=0 (typically meaning its absence or a lower level). +#' * **Direct Effect (t1):** The effect of the exposure on the outcome not through the mediator when the exposure is set to t=1. +#' * **Direct Effect (t0):** The effect of the exposure on the outcome not through the mediator when the exposure is set to t=0. +#' * **Total Effect:** The total effect of the exposure on the outcome, both direct and indirect. #' +#' The output CSV file includes estimates, standard errors, 95% confidence intervals (LCB, UCB), and p-values for each effect and combination of variables. +#' +#' @examples +#' \dontrun{ +#' # Example data (replace with your own data) +#' my_data <- data.table( +#' Exposure_A = rnorm(1000), +#' Exposure_B = rnorm(1000), +#' Mediator_X = rnorm(1000), +#' Mediator_Y = rnorm(1000), +#' Outcome_1 = rnorm(1000), +#' Outcome_2 = rnorm(1000) +#' ) +#' +#' # Perform mediation analysis +#' mediation_analysis( +#' data = my_data, +#' columns = list(exposure = "Exposure", mediator = "Mediator", outcome = "Outcome"), +#' nrep = 500, # Reduced for example speed +#' output_file = "mediation_results.csv" +#' ) +#' } +#' #' @import data.table Rcpp #' @importFrom Rcpp evalCpp #' @importFrom RcppParallel setThreadOptions diff --git a/README.md b/README.md index a29a52a..35d1b08 100644 --- a/README.md +++ b/README.md @@ -8,20 +8,22 @@ ## Features -- **Efficient Mediation Analysis:** Conduct mediation analysis with multiple exposure, mediator, and outcome variables. -- **Parallel Processing:** Utilize multiple CPU cores to accelerate computations. -- **Bootstrap Resampling:** Estimate direct, indirect, and total effects with confidence intervals and p-values. -- **Customizable Column Prefixes:** Easily specify prefixes to identify exposure, mediator, and outcome variables. -- **Scalable for Large Datasets:** Handle large-scale data efficiently by processing in chunks. -- **Real-time CSV Output:** Save results directly to CSV files during analysis. +- **Efficient Mediation Analysis:** Conduct mediation analysis with multiple exposure, mediator, and outcome variables. +- **Parallel Processing:** Utilize multiple CPU cores to accelerate computations. +- **Bootstrap Resampling:** Estimate direct, indirect, and total effects with confidence intervals and p-values. +- **Customizable Column Prefixes:** Easily specify prefixes to identify exposure, mediator, and outcome variables. +- **Scalable for Large Datasets:** Handle large-scale data efficiently by processing in chunks. +- **Real-time CSV Output:** Save results directly to CSV files during analysis. ## Installation You can install the development version of **fastmed** from GitHub using the `devtools` package: -``` r +```r # Install devtools if not already installed -install.packages("devtools") +if (!requireNamespace("devtools", quietly = TRUE)) { + install.packages("devtools") +} # Install fastmed from GitHub devtools::install_github("daehwankim12/fastmed") @@ -29,23 +31,22 @@ devtools::install_github("daehwankim12/fastmed") ## Usage -Below is an example of how to use the `mediation_analysis` function in fastmed. +Here's a detailed example of how to use the `mediation_analysis` function in fastmed: -### Example - -``` r +```r library(fastmed) library(data.table) # Generate example data set.seed(123) +n <- 1000 my_data <- data.table( - Exposure_A1 = rnorm(1000), - Exposure_A2 = rnorm(1000), - Mediator_X1 = rnorm(1000), - Mediator_X2 = rnorm(1000), - Outcome_Y1 = rnorm(1000), - Outcome_Y2 = rnorm(1000) + Exposure_A1 = rnorm(n), + Exposure_A2 = rnorm(n), + Mediator_X1 = rnorm(n), + Mediator_X2 = rnorm(n), + Outcome_Y1 = rnorm(n), + Outcome_Y2 = rnorm(n) ) # Define column prefixes @@ -74,78 +75,52 @@ print(results) ### Parameters -- `data`: A data.table or data.frame containing the dataset. -- `columns`: A list with three named elements: exposure, mediator, and outcome. Each should be a character string specifying the prefix of the respective columns. -- `nrep`: (Optional) Number of bootstrap replicates. Default is 1000. -- `output_file`: Path to the output CSV file where results will be saved. -- `num_threads`: (Optional) Number of threads for parallel processing. Defaults to the number of available cores. +- `data`: A data.table or data.frame containing the dataset. +- `columns`: A list with three named elements: exposure, mediator, and outcome. Each should be a character string specifying the prefix of the respective columns. +- `nrep`: (Optional) Number of bootstrap replicates. Default is 1000. +- `output_file`: Path to the output CSV file where results will be saved. +- `num_threads`: (Optional) Number of threads for parallel processing. Defaults to the number of available cores. ### Output -The output CSV file (`output_csv` in the example) will contain the following columns for each combination of exposure, mediator, and outcome variables: - -- `combination`: Identifier for the combination (e.g., Exposure_A1_Mediator_X1_Outcome_Y1) -- `indirect_t1_estimate`: Indirect effect estimate at t=1 -- `indirect_t1_std_err`: Standard error of the indirect effect at t=1 -- `indirect_t1_lcb`: Lower confidence bound for the indirect effect at t=1 -- `indirect_t1_ucb`: Upper confidence bound for the indirect effect at t=1 -- `indirect_t1_p_value`: P-value for the indirect effect at t=1 -- `indirect_t0_estimate`: Indirect effect estimate at t=0 -- `indirect_t0_std_err`: Standard error of the indirect effect at t=0 -- `indirect_t0_lcb`: Lower confidence bound for the indirect effect at t=0 -- `indirect_t0_ucb`: Upper confidence bound for the indirect effect at t=0 -- `indirect_t0_p_value`: P-value for the indirect effect at t=0 -- `direct_t1_estimate`: Direct effect estimate at t=1 -- `direct_t1_std_err`: Standard error of the direct effect at t=1 -- `direct_t1_lcb`: Lower confidence bound for the direct effect at t=1 -- `direct_t1_ucb`: Upper confidence bound for the direct effect at t=1 -- `direct_t1_p_value`: P-value for the direct effect at t=1 -- `direct_t0_estimate`: Direct effect estimate at t=0 -- `direct_t0_std_err`: Standard error of the direct effect at t=0 -- `direct_t0_lcb`: Lower confidence bound for the direct effect at t=0 -- `direct_t0_ucb`: Upper confidence bound for the direct effect at t=0 -- `direct_t0_p_value`: P-value for the direct effect at t=0 -- `total_effect_estimate`: Total effect estimate -- `total_effect_std_err`: Standard error of the total effect -- `total_effect_lcb`: Lower confidence bound for the total effect -- `total_effect_ucb`: Upper confidence bound for the total effect -- `total_effect_p_value`: P-value for the total effect - -## Development - -If you wish to contribute to fastmed, please follow these guidelines: - -1. Fork the repository on GitHub. -2. Create a new branch for your feature or bugfix. -3. Commit your changes with clear messages. -4. Push your branch to your forked repository. -5. Submit a pull request detailing your changes. - -## Testing - -fastmed includes a suite of tests to ensure functionality. To run the tests, use the following commands: - -``` r -library(devtools) -library(testthat) - -# Navigate to the package directory -setwd("path/to/fastmed") - -# Run tests -devtools::test() -``` +The output CSV file will contain detailed results for each combination of exposure, mediator, and outcome variables, including estimates, standard errors, confidence intervals, and p-values for indirect, direct, and total effects. + +## Performance Considerations + +- The package is optimized for parallel processing. Increase `num_threads` to utilize more CPU cores. +- For very large datasets, consider splitting the analysis into smaller chunks and combining the results. +- Monitor memory usage, especially when increasing `nrep` for bootstrap resampling. + +## Troubleshooting + +If you encounter issues: + +1. Ensure you have the latest version of fastmed installed. +2. Check that all dependencies are up to date. +3. For performance issues, try adjusting `num_threads` or reducing `nrep`. +4. If you encounter a bug, please [open an issue](https://github.com/daehwankim12/fastmed/issues) with a reproducible example. ## License -This project is licensed under the MIT License. See the LICENSE file for details. +This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details. ## Acknowledgements -- Rcpp -- RcppParallel -- data.table +fastmed builds upon several powerful R packages: + +- [Rcpp](https://www.rcpp.org/) for C++ integration +- [RcppParallel](https://rcppcore.github.io/RcppParallel/) for parallel processing +- [data.table](https://rdatatable.gitlab.io/data.table/) for efficient data manipulation + +## Citation + +If you use fastmed in your research, please cite it as follows: + +``` +Kim, D. (2024). fastmed: Fast Mediation Analysis in R. R package version 0.1.0. +https://github.com/daehwankim12/fastmed +``` ## Contact -For any questions or suggestions, please open an issue on the GitHub repository. +For questions, suggestions, or collaborations, please [open an issue](https://github.com/daehwankim12/fastmed/issues) on the GitHub repository or contact the package maintainer at [maintainer@email.com](mailto:maintainer@email.com). diff --git a/man/mediation_analysis.Rd b/man/mediation_analysis.Rd index df741b6..a5251d4 100644 --- a/man/mediation_analysis.Rd +++ b/man/mediation_analysis.Rd @@ -30,5 +30,34 @@ None. The results are written to the specified `output_file` in CSV format. This function performs mediation analysis using bootstrap resampling to estimate direct, indirect, and total effects. It processes data in chunks to handle large datasets efficiently and writes results directly to a CSV file. } \details{ -... (rest of the documentation remains the same) +This function estimates the following effects: +* **Indirect Effect (t1):** The effect of the exposure on the outcome through the mediator when the exposure is set to its value at t=1 (typically meaning its presence or a higher level). +* **Indirect Effect (t0):** The effect of the exposure on the outcome through the mediator when the exposure is set to its value at t=0 (typically meaning its absence or a lower level). +* **Direct Effect (t1):** The effect of the exposure on the outcome not through the mediator when the exposure is set to t=1. +* **Direct Effect (t0):** The effect of the exposure on the outcome not through the mediator when the exposure is set to t=0. +* **Total Effect:** The total effect of the exposure on the outcome, both direct and indirect. + +The output CSV file includes estimates, standard errors, 95% confidence intervals (LCB, UCB), and p-values for each effect and combination of variables. +} +\examples{ +\dontrun{ +# Example data (replace with your own data) +my_data <- data.table( + Exposure_A = rnorm(1000), + Exposure_B = rnorm(1000), + Mediator_X = rnorm(1000), + Mediator_Y = rnorm(1000), + Outcome_1 = rnorm(1000), + Outcome_2 = rnorm(1000) +) + +# Perform mediation analysis +mediation_analysis( + data = my_data, + columns = list(exposure = "Exposure", mediator = "Mediator", outcome = "Outcome"), + nrep = 500, # Reduced for example speed + output_file = "mediation_results.csv" +) +} + } diff --git a/src/fastmed.so b/src/fastmed.so index 534cf6a74598711c71a40ad92b17a26988eab81b..a35c8b28d146dbc48ab644a6ae5867b47cf18b1a 100755 GIT binary patch delta 3394 zcmY+^30zZ09tZH5yd(w$1XREX3dj{L6jZ{q+Gsf>o<*x7+tj8}6s@7cfPUA1)8ime#Mdam`Z;?|<;)*^zUKs~A}TCMDFUgBq4KA-P@=07uU$QWn!hz%T0r|$`!s}hwK?0>*4l$Xk~t@%-SlWz)Jz-pa3Ow02R1^D|7@ma0d_Q z1fJjp-q0DkKv(bqU+{x&_EwqtS#5aX_`L-we)__s)B3{k75ajdKxe%i^$2IZRBv~? zrk<%_U)HHRF>9SVkk#_qKGbNm{YstsvYh(acQ&f)dAa7U`mt=VpMG+Ue)V$WAMNe> zf?9pSsXO{mLiB~pqtQ}0#M!;%|J|CubhBfv>K@dO-H-}vd#f6{gFgg759kSj5Cp-{ z3ql|i!XO+XKm)y@54;AE5CyM8G{it(=m-5F7PJrtA`E~xU?2>FH$ex3VF%ybUQZ2FAiWFb>As+gm4$+z?;nHsgLcG2{*MB4V*;!4H%W zgH=j=c%m{qInfzC{ygzCJT7!W63i37Z|TB03z4zaD^fEo$w_h|=5?CJdklHA84>eC z3(I9B(6IOCfka#;B@u@7y%UMJTuP!1^sXxrt-W(oC=m@4pN}M>ty{)75oE4GR;MH4 zN{`h;!%3zgbfpgw3#G(nQ0XTTag~&m8Xo3PCgN(3oT1@9q{8sA+Kq^7ct(z@r{{e_ z#1gjBnyRDQ*%@nUZ(7A3TT@@7r&y3JHJDyxiMCWNZDTpM)EMe(-DOLKiI4_=gLlCI z@4+N^-@eOce3?pnvYj`K!Iqx1kETpU)+ITbS*Kyu&`o4oHuWa5I99;3ICg<&vFsr) zw5&^m)EC!a>_Ow%ga+dwFJBt97-uLeP6>H58JEhJg)|xmS=#ztY30i<&DIV$xPpjn z;~aTWw$@e?g8U;#Zp+qI4ap_q)5NWhq~DmW^F1?%h|jw6T@s2PJ_6jzwFz4`sSILVQho3-xz3SP`~Y3bO*n)q4L_#$({ zl<5nQXUvy!n^`BV=Tg|sDU@FpGfvqbr+hdihNR6;pG(9a+5OwNPnUfh7vr>f)PqJf z;eUR38~LB^Y~Ptg{Hd#Bz`blUcN?WUT#U7 z6-~t3e*BfiZkf|&#SpQ{nO-%gWksX=4)RFee*+CMXt?VfaEA}T1I^C-0q;lN!VWbV zd(wOCdK32S5^HZVCZI^TBW3A#jJrKgMLG}Ik~STmiPJ3PF0MgUOg+{l6kpACY+F^L zW7}$S9otql!?A6rb9L92hY@k#t7A9oq-$e$=2)k6ZT36!N{i0t+*l%3yF2#iajs5N z`ymkzI`gNwx-s4}Nxb--v*AUqt^@zb9QJl>+!C`+I_D$KyvVGR&iSY_FE{IU@Oycj z1vMMr^xhuC*C8)1+G9ybpFM?$+u7V^qk2e%dYs6Q`RE=?nsg7oid4KSo% zByIW>oY#&Xj_1pHvn!5LH*bQBh&$QYW^CbZ*4m60vXZ&C;H9f%V_S@26G}oS<3>dv z&CDUDI872jgI;-XRI0`J$u2?`ix_J1r+Zn_ zP}6aGlBtqSEbapSS+cjZV+9t~)IUuT#s9ew6{zUTE7H=0X{tO-mumg6&F8CUDLnZ8iZ{S4lm#jcnR%=_7QX~@F3$s;6cuVf(IoJ9e7aj;KG9|4;^`Ma7IC6&j^4xnuMA0g&c A$^ZZW delta 3420 zcmZA130zZ09tZH5yad82phip)0lA`Lg91K}M&%H^TC^&%O>G)P(RypkRT7F~K(s=Y z4!X6(u2x&MYDMF*Uaj|m*t+PtwTPmeEm|#FTcy8wiJ$FmKA-P@=07uUKAGb^E8Fa1 zh27U>-2%*hwhl|hEZ@V;&x|9c#tgYuP`s>7W@(dA;H3a^P=FISgA!c872LobJirsW zfERd!4|IiY&>d9J1AL*Utxcx>tu`#FWXiUr;$+{Xl7zFUTTu^i)GJUA=k<~)RW|n< z>bVN)%d+d#16Wp_x(nN1rw(9SQM28xQ=gVot!+nxx}KLGHme`WMrf1LYLZqL8lH7_ zCKcBv6`yHJ3Lzw^q)>~Nl97(?{Qq`q{->LrXjA)BExRQZmd-XcyaayG3;dxs1VA7J zK_3W)5D0}Z2nP-Hg?`Wb42*?wFdinrtMD2m!$g<_uft@RV(V<1I(~iZ8uvNvVMJdr+?$A{Ud5Lv zA$p6HsCc5(cbx2s9zULV=^vH2APM4$?_Roe!BS*w^@@}XbHRK@#Db6#tBm;St9}?p z#AQ+vpii%wM#SY(60T27kQ1@6%PdTw)zfBIBChD0mrRMMpZ5EBB3gQ8d>u{}>Sc90 zA{KkD9vw!q^dT!%L|iE)MS5k@bRw2WNrnEwvNR&D^2{9_rXt()@2TC1xSD6=xO#TM zM?_r5R$5YYbPGFYN$E?g*dt3ye|nk)7NrEyY8GFV5<@#!Zc$1kRatfxrNA^ug}=cY zpoceMI=p4uS!8&gLjBo}TZSOBKkcWflo5H^flR01>SDC(QM{zWHGFmXECgrXHo0{ zFQQquJ5t}^I|hF`icP&^IO46M1K!6O%F2?1AEx0_saSA>VYsTIqsfsZb#eMaB7Vo(@8Lduud-i^v!)66 z8`OmVeDOB&pYHs?xkS9$-9F%=iI5943Uh449JbyuI-gBhaO{v*hbT=Z8;QhDI5Q&B+$ABh201q@f^836Wc?&zz zXy{FUVmBMHXEm&|(GZ6su1U($n+&_WPDeNn*qk~WpNTUpxEa@=DzYAH63VXU*|)7K z-o9-$dG>9qnq%L#vw6B3g`q^;_u|-1I_cW%cjQ>7bZu;oe79Mrx-f}|2R-b2^e9iK zseOlthaCBnJl#Z}xg=IR>}dESPv^`(GDm#u8<%g=N#}gjk(Ziu(m5Y<!(#(mm$5^!YQ0xP>ijF{npwRZkZAF(2P!PL=M#wg|-=(z)+3*U`t` zgrv@%f%E#(-~POnH@o5}b&ICTh`61dZ^0IR#oAi%LhfQ7t$68nu}Q6l(5dS}(r}}+ z$Fp*YSRTzkwA!%f^+f!*CttF5*B#WEy*)yUF%|ZDdC99pTyL+BaeA4E8#MeITTV~N z@$s};s#^`V>ejbU3bfs}w*BpC-n6#7&3IY0*`ypR_f~`o7f66yRLmhVITgy-6>1E1 zTW)UPO~Nzs3)@ePi8O;fr$%4r3~A6>X^=~SG$>lgXB9HzlF`e}%1<5hIO9QOEyfB? zX!BNtISI?`y?g>^;rajf7T9|gLNS{t7>CkRwpD_$kJ4qMY=FG0qL;9a9dI+Ixmaj} zJY3-_l-q*cjR$1(SKCcbV@`DVT1sUxK8jeut%3hRr$Y)iC#9dl7v*6^_#s8YAw~2- zMeJwH9B=%QZf4UHjLTJDn3aeAvi@FpQYN^wCke*TFu_H+6l-x2vXlc93R!ShSpcCF zE#AaM*1yjF@(O!d+-T!B^b~VSG_t{$@Fx;|LEn4Z^sxnVPWZGjjvH!ZrL}^2x%|_(qSgdf()1qbKo7A z3-e$;EP#cu2o}Q{1cAAQ8)(2;RJjG-@-{a1*hQ*oP~369xlK| zxCGU38EW7Pd& column_names; + const int nrep; const std::vector& exposure_vec; const std::vector& mediator_vec; const std::vector& outcome_vec; - const int nrep; + std::unordered_map column_index_map; BufferedFileWriter& writer; diff --git a/src/mediation_analysis.o b/src/mediation_analysis.o index c84cb5f77e7ffa751303966d46b227a484ac3b4c..437134d3d0f4ba1cfba732942d3283d2909bd9cb 100644 GIT binary patch delta 101756 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