newtargets {yaImpute} | R Documentation |
Finds K nearest neighbors for new target observations
Description
Finds nearest neighbor reference observations for a given set of target
observations using an established (see yai
) object. Intended use is to
facilitate breaking up large imputation problems (see AsciiGridImpute
).
Usage
newtargets(object,newdata,k=NULL,ann=NULL)
Arguments
object |
an object of class |
newdata |
a data frame or matrix of new targets for which neighbors are
are found. Must include at least the X-variables used in the original call to
|
k |
if NULL, the value is taken from |
ann |
if NULL, the value is taken from |
Value
An object of class yai
, that is a copy of the first argument with the
following elements replaced:
call |
the call. |
obsDropped |
a list of the row names for observations dropped for various reasons (missing data). |
trgRows |
a list of the row names for target observations as a subset of all observations. |
xall |
the X-variables for all observations. |
neiDstTrgs |
a matrix of distances between a target (identified by its row name) and the k references. There are k columns. |
neiIdsTrgs |
a matrix of reference identifications that correspond to neiDstTrgs. |
neiDstRefs |
set NULL as if |
neiIdsRefs |
set NULL as if |
k |
the value of k, replaced if changed. |
ann |
the value of the ann argument. |
Author(s)
Nicholas L. Crookston ncrookston.fs@gmail.com
Andrew O. Finley finleya@msu.edu
See Also
Examples
require (yaImpute)
data(iris)
# set the random number seed so that example results are consistant
# normally, leave out this command
set.seed(12345)
# form some test data
refs=sample(rownames(iris),50) # just the reference observations
x <- iris[refs,1:3] # Sepal.Length Sepal.Width Petal.Length
y <- iris[refs,4:5] # Petal.Width Species
# build a yai object using mahalanobis
mal <- yai(x=x,y=y,method="mahalanobis")
# get imputations for the target observations (not references)
malNew <- newtargets(mal,iris[!(rownames(iris) %in% rownames(x)),])
# output a data frame of observed and imputed values for
# the observations that are not in the original yai object
impute(malNew,vars=yvars(malNew))
# in this example, Y is not specified (not required for mahalanobis).
mal2 <- yai(x=x,method="mahalanobis")
identical(foruse(mal),foruse(mal2))
if (require(randomForest))
{
# here, method randomForest's unsupervised classification is used (no Y).
rf <- yai(x=x,method="randomForest")
# now get imputations for the targets in the iris data (those that are
# not references).
rfNew <- newtargets(rf,iris[!(rownames(iris) %in% rownames(x)),])
}