Come convertire le etichette dei valori delle colonne in valori?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />CIAO,
Sono nuovo nella comunità (ma utilizzo JMP dalla versione 1), quindi non so dove porre questa domanda.
Ho importato un file da SPSS (.sav) con diverse colonne con etichette di valore. Voglio utilizzare le etichette dei valori (che sono nomi effettivi) invece dei valori (che sono numeri). Recode sembra non avere questa funzione. Qualcuno potrebbe aiutare? Grazie mille in anticipo. Jens
Ri: Come convertire le etichette dei valori delle colonne in valori?Grazie a tutti coloro che hanno contribuito a questo. Sono stato lontano dal computer per un po' di tempo, ma ora sono tornato a lavorare con JMP. Proverò i diversi suggerimenti e vedrò quale è il più veloce per me.
Ri: Come convertire le etichette dei valori delle colonne in valori?Un altro modo per convertire la colonna in una colonna di etichette è copiare la colonna e incollare i dati in una finestra dell'editor di script (o in qualsiasi finestra di testo). Quindi copia i dati dalla finestra di testo. Incolla in una nuova colonna di caratteri nella tabella originale.
Ri: Come convertire le etichette dei valori delle colonne in valori?Non ho potuto resistere alla tentazione di scrivere l'idea di Karen. Ottieni etichette di valore restituisce un'espressione con un argomento: un elenco di "assegnazioni", ad esempio 2 = "No". Mi vengono in mente due approcci: o utilizzare direttamente questi incarichi (illegali) o, come suggerisce Xan, manipolarli in un file Incontro espressione.
Di seguito sono riportati i miei tentativi di entrambi gli approcci. L'approccio Match è più veloce qui. Per tabelle di grandi dimensioni e se molti valori non hanno etichette, le prestazioni sembrano diventare più uniformi. Probabilmente il codice Match può essere migliorato.
open_example_table = Expr(
dt = Open( "$SAMPLE_DATA/CrabSatellites.jmp" );
col = Column( dt, "color" );
col << data type( character );
);
//1
open_example_table;
bt = HP Time();
// Direct assignment code
v = Arg( col << get value labels(), 1 );
For( i = 1, i <= N Items( v ), i++,
col[dt << get rows where( col[] == Arg( v[i], 1 ) )] = Arg( v[i], 2 )
);
// End direct assignment
ht = HP Time();
t1 = ht - bt;
Close( dt, no save );
// 2
open_example_table;
bt = HP Time();
// code for building Match expression by string manipulation
match_expr = Parse(
"Match( col[]," || Substitute( Char( Arg( col << get value labels(), 1 ) ),
"{", "",
"=", ",",
"}", ""
) || ",col[])"
);
For Each Row( col[] = match_expr );
// End Match
ht = HP Time();
t2 = ht - bt;
Show( t1, t2 );
t1 = 1729;
t2 = 1019;
//:*/
Ri: Come convertire le etichette dei valori delle colonne in valori?Buona idea, Karen.
Jens, Non è facile far uscire le etichette come dati. Due modi a cui posso pensare:
- Con gli script, puoi utilizzare Ottieni etichette valore e manipolare manualmente o a livello di codice il risultato in modo che sia simile all'espressione Match() generata da Recode quando lo salvi come script.
- Esegui una tabulazione sulla variabile e utilizza Crea tabella dati sul risultato.
Per il punto 2, avrai bisogno di un modo per abbinare le cose se non si trovano in una mappatura uno a uno ordinata. Passaggi per questo:
- Crea una copia dei valori in una nuova colonna (senza etichette valore)

- Utilizza Tabula con entrambe le variabili come colonne di categoria:


- Utilizzare il comando Tabula Trasforma in tabella dati per ottenere una nuova tabella senza proprietà Etichette valore.
- Utilizza Tabelle > Unisci per abbinare i valori grezzi e ottenere la nuova colonna "etichettata" senza etichette valore.
Ri: Come convertire le etichette dei valori delle colonne in valori?Penso che ciò che vorremmo (ma non abbiamo in questo momento) è una "ricodifica con etichette di valore".Anch'io ho desiderato questa funzionalità di tanto in tanto.
Karen
Ri: Come convertire le etichette dei valori delle colonne in valori?Se disponi di una tabella dei codici e dei relativi valori, puoi utilizzare il comando UPDATE per aggiungere la colonna del valore appropriata.
Ri: Come convertire le etichette dei valori delle colonne in valori?Ciao, grazie per il suggerimento. Ci sono più di 300 etichette di valore, che dovrei inserire manualmente in Recode: speravo ci fosse un modo più intelligente.
Ri: Come convertire le etichette dei valori delle colonne in valori?Modificare il tipo di dati in carattere e quindi utilizzare Ricodifica.
Ri: Come convertire le etichette dei valori delle colonne in valori?Ciao Stanley, grazie per aver cercato di aiutare.Conosco la funzione delle etichette dei valori, ma ciò di cui ho bisogno è modificare o sostituire i valori 1,2,3 con i valori dei caratteri No, Sì (ad esempio come nel tuo esempio).
Devo unire due tabelle con colonne corrispondenti, una delle quali ha valori di carattere (come le etichette dei valori nell'altra tabella, ovvero non è stata utilizzata alcuna codifica), l'altra ha valori numerici (codici) con etichette dei valori.
Oppure esiste un modo per unire le tabelle al volo in base alle etichette dei valori di una colonna in una tabella e ai valori effettivi nella colonna corrispondente nell'altra tabella?
Distinti saluti
Jens
Ri: Come convertire le etichette dei valori delle colonne in valori?Ciao,
Se ho capito bene la tua domanda.
Puoi attivare o disattivare le etichette dei valori tramite le proprietà della colonna.
In questo esempio sono riuscito a utilizzare le preferenze del consumatore dai dati di esempio fare clic con il pulsante destro del mouse sulla colonna e deselezionare l'opzione etichetta valore.

La colonna non utilizza più l'etichetta del valore come mostrato di seguito.

Spero che aiuti.
Migliore,
Stan