estoy tratando sólo para calcular la distancia de Hamming entre dos vectores en R. Actualmente estoy tratando de utilizar el paquete "e1071", y la función hamming.distance, de la siguiente manera:Calculando la distancia de Hamming para dos vectores en R?
library(e1071)
H <- hamming.distance(X)
Donde X es un hoja.de.datos con 2 filas y (en mi particular de datos) 667 columnas, y cada observación es 0 ó 1.
Inicialmente consiguieron el error:
Error: evaluation nested too deeply: infinite recursion/options(expressions=)?
Después de algunas investigaciones, parece que una solución podría estar aumentando la opción básica en R. Esto lo hice a través de Opciones (expresiones = 5000), y luego trató de variar los valores en lugar del 5000. Pero esto sólo se produjo el error:
Error: C stack usage is too close to the limit
No soy mucho de un programador, y las correcciones para este el error más reciente parece tener que ver con algo dentro del paquete e1071 que posiblemente no se haya llamado correctamente (o en el momento correcto).
¿Alguna idea sobre lo que estoy haciendo mal? Finalmente quiero las distancias de Hamming entre una gran cantidad de vectores, y esto fue solo un punto de partida. Si esto tiene que ver con la asignación de memoria, ¿hay alguna sugerencia sobre cómo manejarla?
No es realmente un problema de memoria, sino un problema de pila: la función es recursiva y se llama todas las veces que tenga columnas. Es posible que desee comprobar si hay otras implementaciones no recursivas (por ejemplo, escribiendo 'library (sos); ??? hamming'), o implemente las suyas propias. Además, no puedo reproducir el problema ('expressions' ya es 5000 para mí): la información sobre su plataforma (por ejemplo,' sessionInfo() ') puede ser útil. –