[R-es] bug en funcion 'agrep'
luis.cayuela en urjc.es
luis.cayuela en urjc.es
Jue Ene 19 10:38:54 CET 2012
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
Más información sobre la lista de distribución R-help-es