Script Arbitrary RecodeHo una variabile di carattere con un numero sconosciuto di livelli. I livelli hanno nomi di testo lunghi e mi piacerebbe ricodificarli in qualcosa di più breve, ad esempio 1, 2, 3, ecc.
Capisco come usare Match per ricodificare un determinato set di livelli ad altri valori specifici, ma vorrei chiedere come fare se il set iniziale è sconosciuto. Cioè, per ogni nuovo file di dati la variabile da ricodificare può avere un numero diverso di voci differenti.
Grazie!
Ri: Script Arbitrary RecodeA-ha! Pensavo che "dt =" fosse insolito. Ho scoperto di averlo aggirato scrivendo "dt2 =". Probabilmente un po 'inefficiente, ma ha funzionato. Da allora l'ho cambiato in "dt <<" e funziona benissimo.
Grazie ancora!
Ri: Script Arbitrary Recodeoops,
dovrebbe essere la dichiarazione della nuova colonna
dt << New Column(.................
Ri: Script Arbitrary RecodePS., Sembra in qualche modo che venga assegnata quella nuova colonna. La tabella dei dati originale non è più referenziata da dt. È giusto?
Ri: Script Arbitrary RecodeSembra che abbia parlato a presto ... quel codice sta creando la nuova variabile desiderata, ma ora tutto il mio codice dopo questo non funziona. In particolare ho provato a spostare la nuova variabile, quindi escludo alcune righe. La mia mossa e la mia esclusione funzionavano bene prima, ma ora la nuova variabile viene esclusa e nascosta?
C'è qualcosa che deve essere ripristinato o disattivato? (A proposito, sto usando la versione 12)
Grazie!
Ri: Script Arbitrary RecodeHa funzionato alla grande! Grazie mille!
Ri: Script Arbitrary RecodeEcco una piccola parte di JSL che fornisce un esempio di creazione di un valore numerico dai valori dei caratteri trovati in una colonna
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Animals.jmp" );
dt = New Column( "Animal Category",
formula(
If( Row() == 1,
Summarize( bygroup = by( :species ) )
);
Loc( bygroup, :species )[1];
)
);