A distance matrix of dimensions length(donors) * length(recipients)
recipients
A vector of object (row) numbers from the original data matrix, indicating which objects require imputation.
donors
A vector of object (row) numbers from the original data matrix, indicating which objects may be used for imputation.
donor_limit
A vector of length(donors) detailing how often any one donor may be used.
Value
A matrix of dimensions length(recipients) * 2. The first column, named recipients, is equivalent to recipients. The second column, named donors, contains the donor that is matched to any of the recipients.
Domschke, W. (1995) Logistik: Transport. Munich: Oldenbourg. [in German]
Joenssen, D.W. (2015) Donor Limited Hot Deck Imputation: A Constrained Optimization Problem. In: B. Lausen, S. Krolak-Schwerdt, and M. B"ohmer (Eds.): Data Science, Learning by Latent Structures, and Knowledge Discovery. Studies in Classification, Data Analysis and Knowledge Organization, pages 319–328. Berlin/Heidelberg: Springer.
Joenssen, D.W. (2015) Hot-Deck-Verfahren zur Imputation fehlender Daten – Auswirkungen des Donor-Limits. Ilmenau: Ilmedia. [in German, Dissertation]
See Also
impute.NN_HD, match.d_r_vam
Examples
#Set the random seed to an arbitrary number
set.seed(421)
#Set up a random distance matrix
ndonor=20
nrecip=20
distance<-matrix(sample(1:100,replace=TRUE,size=ndonor*nrecip),nrow=ndonor,ncol=nrecip)
#Name donors and recipients
donors<-1:nrow(distance)
recipients<-(nrow(distance)+1):(nrow(distance)+ncol(distance))
colnames(distance)<-recipients
rownames(distance)<-donors
#Set up the donor limit variable
donor_limit<-rep(1,length(donors))
#perform the matching
match.d_r_odd(distance=distance,recipients=recipients,donors=donors,
donor_limit=donor_limit)
Results
R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.
R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.
Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.
> library(HotDeckImputation)
Error in library(HotDeckImputation) :
there is no package called 'HotDeckImputation'
Execution halted