agrep: retorne apenas as melhores correspondênci

Estou usando a função 'Agrep' em R, que retorna um vetor de correspondências. Eu gostaria de uma função semelhante a concordar que retorne apenas a melhor correspondência ou as melhores correspondências se houver empate. Atualmente, estou fazendo isso usando a função 'sdist ()' do pacote 'cba' em cada elemento do vetor resultante, mas isso parece muito redundante.

/ edit: aqui está a função que estou usando atualmente. Gostaria de acelerar, pois parece redundante calcular a distância duas veze

library(cba)
word <- 'test'
words <- c('Teest','teeeest','New York City','yeast','text','Test')
ClosestMatch <- function(string,StringVector) {
  matches <- agrep(string,StringVector,value=TRUE)
  distance <- sdists(string,matches,method = "ow",weight = c(1, 0, 2))
  matches <- data.frame(matches,as.numeric(distance))
  matches <- subset(matches,distance==min(distance))
  as.character(matches$matches)
}

ClosestMatch(word,words)

questionAnswers(2)

yourAnswerToTheQuestion