Formula nel comando Nuova colonna<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ciao,
Ricevo spesso dati in formato SPSS. Quando importo i dati in JMP, mantengo i nomi SPSS. JMP crea una nuova proprietà di colonna denominata "Nome SPSS" e utilizza anche questi nomi come nomi di colonne. Il mio obiettivo è modificare i nomi delle colonne in base a "Nome SPSS", aggiungere una nuova colonna con il nome della nuova colonna ma con un carattere aggiunto nel nome e quindi avere una formula per questa nuova colonna. Ad esempio, supponiamo che io usi la tabella della Grande Classe. Ho aggiunto una nuova proprietà a ciascuna colonna e l'ho chiamata "Nome SPSS". Quindi, ho impostato ciascun nome SPSS su "Q1", "Q2", ..., "Q5", che è lungo le linee di come sarebbero i nomi dei file SPSS originali. Ho creato il seguente script che cerca il nome SPSS "Q4" (che corrisponde alla colonna di altezza in Big Class), cambia il nome della colonna in "Nuova altezza" e aggiunge una nuova colonna denominata "Nuova altezza - B". Questa parte funziona bene. Quello che non riesco a lavorare è la parte della formula. La nuova colonna dovrebbe avere una formula con un valore basato sulla colonna dell'altezza che è stata rinominata; cioè, basato su "Nuova altezza". Quando guardo la nuova colonna, tutto quello che vedo sono i codici di valori mancanti. La proprietà formula ha la formula corretta tranne per il fatto che "x" è usato piuttosto che "Nuova altezza" come mi aspetterei. Come posso far funzionare quest'ultima parte? Eventuali suggerimenti?
dt = Current Data Table ();
per (i = 1, i <= N Col (dt), i ++,
col = Colonna (i);
match (col << Ottieni proprietà ("SPSS NAME"),
"Q4",
x = "Nuova altezza";
col << Imposta nome (x);
Nuova colonna (x || "- B", numerico, continuo,
Larghezza (5), Formula (Se (Colonna (x)> 60, 1, 0))
)
);
);
dt << Esegui formule;
Grazie,
Walt Paczkowski
Ri: Formula nel comando Nuova colonnaIl comando sostitutivo può essere complicato e richiede un po 'di tempo per essere compreso.
Ho creato la proprietà SPSS di 'Q4' sotto la colonna dell'altezza come hai fatto tu.
dt = Current Data Table ();
Per (i = 1, i <= NCol (dt), i ++,
col = Colonna (i);
Match (col << Ottieni proprietà ("SPSS NAME"),
"Q4",
newcoln = col << chiama nome || "- B";
newcol = dt << NewColumn (newcoln);
// sostituisce i valori anziché i riferimenti
Eval (Substitute (
Expr (newcol << Imposta formula (If (_xvar> 60, 1, 0))),
Espr (_xvar), Parse (col << richiama nome))
);
);
);