<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hola,
A menudo recibo datos en formato SPSS. Cuando importo los datos a JMP, mantengo los nombres de SPSS. JMP crea una nueva propiedad de columna llamada "Nombre de SPSS" y también utiliza estos nombres como nombres de columna. Mi objetivo es cambiar los nombres de columna basados en "Nombre de SPSS", agregar una nueva columna con el nuevo nombre de columna pero con un carácter agregado en el nombre, y luego tener una fórmula para esta nueva columna. Como ejemplo, supongamos que uso la tabla Big Class. Agregué una nueva propiedad a cada columna y la llamé "Nombre de SPSS". A continuación, configuro cada Nombre de SPSS en "Q1", "Q2", ..., "Q5", que coincide con los nombres de los archivos de SPSS originales. Creé el siguiente script que busca el nombre de SPSS "Q4" (que corresponde a la columna de altura en Big Class), cambia el nombre de la columna a "Nueva altura" y agrega una nueva columna llamada "Nueva altura - B". Esta parte funciona bien. Lo que no puedo ponerme a trabajar es la parte de la fórmula. La nueva columna debe tener una fórmula con un valor basado en la columna de altura cuyo nombre se cambió; es decir, basado en "Nueva Altura". Cuando miro la nueva columna, todo lo que veo faltan códigos de valor. La propiedad de la fórmula tiene la fórmula correcta, excepto que se usa "x" en lugar de "Nueva altura", como es de esperar. ¿Cómo puedo hacer que funcione esta última parte? ¿Alguna sugerencia?
dt = Tabla de datos actuales ();
para (i = 1, i <= N Col (dt), i ++,
col = Columna (i);
match (col << Get Property ("SPSS NAME"),
"Q4",
x = "Nueva altura";
col << Establecer Nombre (x);
Nueva columna (x || "- B", numérica, continua,
Ancho (5), Fórmula (Si (Columna (x)> 60, 1, 0))
)
);
);
dt << Ejecutar fórmulas;
Gracias,
Walt Paczkowski
El comando de sustitución puede ser complicado y toma un tiempo comprenderlo.
Creé la propiedad SPSS de 'Q4' debajo de la columna de altura como lo hiciste.
dt = Tabla de datos actuales ();
Para (i = 1, i <= NCol (dt), i ++,
col = Columna (i);
Match (col << Get Property ("SPSS NAME"),
"Q4",
newcoln = col << obtener nombre || "- B";
newcol = dt << NewColumn (newcoln);
// Sustituir los valores en lugar de las referencias.
Eval (Sustituto (
Expr (newcol << Establecer fórmula (If (_xvar> 60, 1, 0)))
Expr (_xvar), Parse (col << Obtener nombre))
);
);
);