diff --git a/R/aoa.R b/R/aoa.R index e9b9f013..d4a4568a 100755 --- a/R/aoa.R +++ b/R/aoa.R @@ -184,6 +184,9 @@ aoa <- function (newdata, ############################################################################## #### Scale data and weight data if applicable: train <- scale(train) + if (any(apply(train, 2, FUN=function(x){all(is.na(x))}))){ + stop("some variables in train seem to have no variance") + } scaleparam <- attributes(train) if(!inherits(weight, "error")){ train <- sapply(1:ncol(train),function(x){train[,x]*unlist(weight[x])}) @@ -208,14 +211,12 @@ aoa <- function (newdata, return(min(tmp)) } } - if (!is.null(cl)){ #!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + if (!is.null(cl)){ mindist <- parApply(cl=cl,X=newdata,MARGIN=1,FUN=distfun) - #!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! }else{ mindist <- apply(newdata,1,FUN=distfun) } - trainDist <- as.matrix(dist(train)) # trainDist <- apply(train,1,FUN=function(x){ # FNN::knnx.dist(t(matrix(x)),train,k=1)})