sto cercando solo di calcolare la distanza di Hamming tra due vettori a R. Attualmente sto tentando di usare il pacchetto "E1071", e la funzione hamming.distance, come segue:Calcolo della distanza di Hamming per due vettori in R?
library(e1071)
H <- hamming.distance(X)
Dove X è un data.frame con 2 file e (in particolare la mia dati) 667 colonne, ed ogni osservazione è 0 o 1.
Inizialmente ho ottenuto l'errore:
Error: evaluation nested too deeply: infinite recursion/options(expressions=)?
Dopo alcune ricerche, è emerso che una correzione potrebbe aumentare l'opzione di base in R. Questo l'ho fatto tramite opzioni (espressioni = 5000), e poi provato a valori variabili al posto del 5000. Ma questo prodotto solo l'errore:
Error: C stack usage is too close to the limit
io non sono molto di un programmatore, e le correzioni per questo l'errore più recente sembra avere a che fare con qualcosa all'interno del pacchetto e1071 che potrebbe non essere chiamato correttamente (o al momento giusto).
Qualche idea su cosa sto facendo male? Alla fine voglio le distanze di Hamming tra un gran numero di vettori, e questo era solo un punto di partenza. Se questo ha a che fare con l'allocazione della memoria, qualche suggerimento su come affrontarlo?
In realtà non è un problema di memoria, ma un problema di stack: la funzione è ricorsiva e si chiama tante volte quante sono le colonne. Potresti voler verificare se ci sono altre implementazioni non ricorsive (ad esempio, digitando 'library (sos); ??? hamming'), o implementare le tue. Inoltre, non riesco a riprodurre il problema ('espressioni 'è già 5000 per me): le informazioni sulla tua piattaforma (ad es., SessionInfo()') possono essere utili. –