Package: MultiObjMatch 1.0.0

MultiObjMatch: Multi-Objective Matching Algorithm

Matching algorithm based on network-flow structure. Users are able to modify the emphasis on three different optimization goals: two different distance measures and the number of treated units left unmatched. The method is proposed by Pimentel and Kelz (2019) <doi:10.1080/01621459.2020.1720693>. The 'rrelaxiv' package, which provides an alternative solver for the underlying network flow problems, carries an academic license and is not available on CRAN, but may be downloaded from Github at <https://github.com/josherrickson/rrelaxiv/>.

Authors:Shichao Han [cre, aut], Samuel D. Pimentel [aut]

MultiObjMatch_1.0.0.tar.gz
MultiObjMatch_1.0.0.zip(r-4.5)MultiObjMatch_1.0.0.zip(r-4.4)MultiObjMatch_1.0.0.zip(r-4.3)
MultiObjMatch_1.0.0.tgz(r-4.4-any)MultiObjMatch_1.0.0.tgz(r-4.3-any)
MultiObjMatch_1.0.0.tar.gz(r-4.5-noble)MultiObjMatch_1.0.0.tar.gz(r-4.4-noble)
MultiObjMatch_1.0.0.tgz(r-4.4-emscripten)MultiObjMatch_1.0.0.tgz(r-4.3-emscripten)
MultiObjMatch.pdf |MultiObjMatch.html
MultiObjMatch/json (API)
NEWS

# Install 'MultiObjMatch' in R:
install.packages('MultiObjMatch', repos = c('https://shichaohan.r-universe.dev', 'https://cloud.r-project.org'))

Peer review:

On CRAN:

This package does not link to any Github/Gitlab/R-forge repository. No issue tracker or development information is available.

1.30 score 1 scripts 199 downloads 16 exports 129 dependencies

Last updated 5 months agofrom:18e4360a8e. Checks:OK: 1 NOTE: 6. Indexed: yes.

TargetResultDate
Doc / VignettesOKNov 02 2024
R-4.5-winNOTENov 02 2024
R-4.5-linuxNOTENov 02 2024
R-4.4-winNOTENov 02 2024
R-4.4-macNOTENov 02 2024
R-4.3-winNOTENov 02 2024
R-4.3-macNOTENov 02 2024

Exports:check_representativecombine_match_resultcompare_matchingcompare_tablesdist_bal_matchfilter_match_resultgenerateRhoObjget_balance_tableget_pairdist_balance_graphget_pairdist_graphget_rho_objget_tv_graphget_unmatchedmatched_datatwo_dist_matchvisualize

Dependencies:backportsbase64encbitbit64bitopsbootbroombslibcachemcheckmatechkclicliprclustercobaltcodetoolscoincolorspacecpp11crayondata.tabledigestdotCall64dplyrevaluatefansifarverfastmapfieldsfontawesomeforcatsforeachforeignFormulafsgdatagenericsggplot2glmnetgluegridExtragtablegtoolshavenhighrHmischmshtmlTablehtmltoolshtmlwidgetsisobanditeratorsjomojquerylibjsonliteknitrlabelinglatticelibcoinlifecyclelme4magrittrmapsMASSmatchMultiMatrixmatrixStatsmemoisemgcvmicemimeminqamitmlmodeltoolsmultcompmunsellmvtnormnlmenloptrnnetnumDerivoptmatchordinalpanpillarpkgconfigplyrprettyunitsprogresspurrrR6rappdirsrcbalancercbsubsetRColorBrewerRcppRcppEigenRCurlreadrrlangrlemonrmarkdownrpartrstudioapisandwichsassscalesshapespamstringistringrsurvivalTH.datatibbletidyrtidyselecttinytextzdbucminfutf8vctrsviridisviridisLitevroomweightswithrxfunyamlzoo

Readme and manuals

Help Manual

Help pageTopics
Add fine balance edgesaddBalance
Add exclusion edgesaddExclusion
Create a skeleton representation of the balance edge costsbalanceCosts
An internal helper function that generates the data abstraction for the edge weights of the main network structure.build.dist.struct
An internal helper function that generates the data abstraction for the edge weights of the main network structure using the distance matrix passed by the user.build.dist.struct_user
Call relax on the networkcallrelax
Check the representativeness of matched treated unitscheck_representative
An internal helper function that combines two distance objectcombine_dist
Combine two matching resultcombine_match_result
Generate covariate balance in different matchescompare_matching
Summarize covariate balance tablecompare_tables
An internal helper function that translates the matching index in the sorted data frame to the original dataframe's row indexconvert_index
Internal helper function that converts axis name to internal variable nameconvert_names
Create cost skeletoncostSkeleton
Data precheck: Handle missing data(mean imputation) and remove redundant columns; it also adds an NA column for indicating whether it's missingdata_precheck
Generate summary statistics for matchesdescr.stats_general
Optimal tradeoffs among distance, exclusion and marginal imbalancedist_bal_match
Helper function that change input distance matrixdistanceFunctionHelper
This is a modified version of the function "dummy" from the R package dummies. Original code Copyright (c) 2011 Decision Patterns.dummy
Change the edgelist to the infinity sparse matrixedgelist2ISM
Create a skeleton representation of the exclusion edge costsexcludeCosts
Extract edges from the networkextractEdges
Extract the supply nodes from the netextractSupply
Filter match resultfilter_match_result
Turns a skeleton representation of edge costs in a networkflattenSkeleton
Generate rho pairsgenerate_rhos
Penalty and objective values summarygenerateRhoObj
Generate balance tableget_balance_table
An internal helper function that gives the index of matching with a wide range of number of treated units left unmatchedget_five_index
Total variation imbalance vs. marginal imbalanceget_pairdist_balance_graph
Distance vs. exclusionget_pairdist_graph
Penalty and objective values summaryget_rho_obj
Marginal imbalance vs. exclusionget_tv_graph
Get unmatched percentageget_unmatched
Generate a factor for exact matching.getExactOn
Fit propensity scores using logistic regression.getPropensityScore
Internal helper to build infinity sparse matrixmakeInfinitySparseMatrix
Helper function to mask edgesmakeSparse
Get matched dataframematched_data
An internal helper function that translate the matching index in the sorted data frame to the original dataframe's row indexmatched_index
change the distance matrix to costmatrix2cost
Helper function to convert matrix to listmatrix2edgelist
Helper function to combine two sparse distancesmeldMask
Create network flow structurenetFlowMatch
An internal helper function that transforms the output from the RELAX algorithm to a data structure that is more interpretable for the output of the main matching functionobj.to.match
Create a skeleton representation of the edge costspairCosts
Generate penalty coefficient pairsrho_proposition
Solve the network flow problem - basic versionsolveP
Solve the network flow problem - twoDistMatchsolveP1
Generate numerical summarysummary.multiObjMatch
Optimal tradeoffs among two distances and exclusiontwo_dist_match
Visualize tradeoffsvisualize