Sto provando a eseguire un'analisi di corrispondenza ottimale usando TraMineR ma sembra che sto incontrando un problema con la dimensione del set di dati. Ho un grande set di dati di paesi europei che contiene periodi di occupazione. Ho più di 57.000 sequenze lunghe 48 unità e composte da 9 stati distinti. Per avere un'idea dell'analisi, ecco la testa dell'oggetto sequenza employdat.sts
:Problema con big data (?) Durante il calcolo delle distanze di sequenza usando TraMineR
[1] EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-...
[2] EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-...
[3] ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-...
[4] ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-...
[5] EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-EF-...
[6] ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-ST-...
In un formato SPS breve, questo è formulato come segue:
Sequence
[1] "(EF,48)"
[2] "(EF,48)"
[3] "(ST,48)"
[4] "(ST,36)-(MS,3)-(EF,9)"
[5] "(EF,48)"
[6] "(ST,24)-(EF,24)"
Superato questo oggetto sequenza alla funzione seqdist()
, ricevo il seguente messaggio di errore:
employdat.om <- seqdist(employdat.sts, method="OM", sm="CONSTANT", indel=4)
[>] creating 9x9 substitution-cost matrix using 2 as constant value
[>] 57160 sequences with 9 distinct events/states
[>] 12626 distinct sequences
[>] min/max sequence length: 48/48
[>] computing distances using OM metric
Error in .Call(TMR_cstringdistance, as.integer(dseq), as.integer(dim(dseq)), : negative length vectors are not allowed
È questo errore relativo al numero enorme di distinta s nct, lunghe sequenze? Sto usando una macchina x64 con 4 GB di RAM e l'ho anche provato su una macchina con 8 GB di RAM che riproduceva il messaggio di errore. Qualcuno conosce un modo per affrontare questo errore? Inoltre, le analisi per ogni singolo paese che utilizzano la stessa sintassi con un indice per il paese hanno funzionato bene e hanno prodotto risultati significativi.
Si prega di mostrare il codice – sashkello