Estimados R-users: Estoy intentando usar la función 'agrep' para hacer búsquedas en cadenas de texto. El parámetro max.distance permite controlar la medida de aproximación de búsqueda de la función de Levenshtein. No obstante, cuando hago búsquedas especÃficas no obtengo siempre el resultado deseado y no se si es un bug o que no entiendo bien el algoritmo de búsqueda. Por ejemplo:
agrep("Acacia m1", "Acacia macradenia", value=T, max.distance=list(all=1))
[1] "Acacia macradenia"
agrep("Acacia m1", "Acacia macradenia", value=T,
max.distance=list(deletions=1))
[1] "Acacia macradenia"
agrep("Acacia m1", "Acacia macradenia", value=T,
max.distance=list(insertions=1))
[1] "Acacia macradenia" Cuando en cualquiera de los casos no deberÃa de hacer el "matching". Sin embargo si la segunda palabra empieza por otra letra en vez de por "m", entonces funciona bien:
agrep("Acacia m1", "Acacia pacradenia", value=T, max.distance=list(all=1))
character(0)
agrep("Acacia m1", "Acacia pacradenia", value=T,
max.distance=list(deletions=1))
character(0)
agrep("Acacia m1", "Acacia pacradenia", value=T,
max.distance=list(deletions=2))
character(0) ¿Alguien sabe qué puede estar pasando? ¿alguna solución? Estoy usando R 2.12.1 bajo Linux Ubuntu Natty Narwhal 11.04. Saludos y gracias por la ayuda, Luis ------------------------------------ Luis Cayuela Ãrea de Biodiversidad y Conservación Universidad Rey Juan Carlos Departamental 1 DI. 231 c/ Tulipán s/n. E-28933 Móstoles (Madrid) España Tlf: 914888517 http://www.escet.urjc.es/biodiversos/espa/personal/luisc/luisc_e.htm