cómo convertir nombres de columnas en una lista de cadenasHola,
Me gustaría convertir los nombres de las columnas en cadenas, pero no sé cómo.
dt = Open( "$SAMPLE_DATA/Decathlon.jmp" );
col_names = dt << Get Column Names();
Show(col_names);
esto lleva a
col_names = {Name, Country, Score, Name("100m"), Long Jump, Shot Put, High Jump, Name("400m"), Name("100m hurdles"), Discus, Pole Vault, Javelin, Name("1500m")};Me gustaría tener algo como esto en su lugar:
col_names = {"Name", "Country", "Score", "100m", "Long Jump", "Shot Put", "High Jump", "400m", "100m hurdles", "Discus", "Pole Vault", "Javelin", "1500m"};¿Alguna idea?
¡Gracias por su ayuda!
Re: como convertir nombres de columnas a una lista de cadenaslo siguiente asignará un valor de cadena de un nombre de columna, para la primera columna seleccionada en la tabla de datos activa actual.
dt = current data table();
theName = ((dt<<GET selected="" columns=""></GET>
Re: como convertir nombres de columnas a una lista de cadenassupongamos que tengo un solo nombre de columna como variable, ¿cómo convertiría ese nombre de columna en una cadena? Por ejemplo, un cuadro de diálogo de usuario selecciona una columna, quiero ese nombre de columna como una cadena. Gracias.
Re: como convertir nombres de columnas a una lista de cadenasEsto funcionó, pero primero necesitaba hacer una variable de nombre de grupo.
j=1;
GN = "GrupoCol"||j;
dt < < Columnas de grupo (GN , col_list ) ;
trabajó.
Pero
dt < < Columnas de grupo ( "GrupoCol"||j , col_lista);
No.
Resultó que este era el problema todo el tiempo.
El mensaje de error hizo que pareciera que el problema estaba en la lista de columnas.
Re: como convertir nombres de columnas a una lista de cadenasEsto funciona:
dt = current data table();
col_list = {"Column 1", "Column 2", "Column 3"};
dt << Group Columns("ColGroup", col_list);Re: como convertir nombres de columnas a una lista de cadenasTengo el problema opuesto. Necesito convertir una lista de cadenas en una lista de nombres de columnas.
Tengo una lista de nombres de columnas como cadenas, {"col1", "col2", "col3"}
Quiero agrupar esas columnas, pero esa función necesita que la lista se vea así:
dt << Group Columns("ColGroup", {:col1, :col2, :col3});
He intentado muchas permutaciones de eval, evapexpr y column pero no he encontrado la correcta.
Re: como convertir nombres de columnas a una lista de cadenasDado que su propósito declarado es que los mismos colores del Creador de gráficos se apliquen a otros gráficos, ¿podría usar Propiedades de columna - Colores de valor para lograr lo que desea?
Re: como convertir nombres de columnas a una lista de cadenascol_str = dt << Obtener nombres de columnas ("Cadena"); funciona en JMP 13.
Para JMP 12, use col_str = dt << Obtener nombres de columnas ("String");
Como sugirió Ian.
Re: como convertir nombres de columnas a una lista de cadenasEs posible que la expresión de la secuencia de comandos guardada de Graph Builder haya cambiado y, de ser así, la forma en que se analiza la secuencia de comandos debería cambiarse en consecuencia. No tengo esa versión instalada, así que no puedo verificarla fácilmente.
Pero debería poder usar el enfoque general.
Re: como convertir nombres de columnas a una lista de cadenasGracias por los comentarios rápidos.
Yo uso JMP Pro 12.2.0. Esa podría ser la razón por la que nuestros resultados difierenRe: como convertir nombres de columnas a una lista de cadenasTuve algunos problemas con el software Community y es posible que tengas una versión incompleta. En cualquier caso, el código que ahora me da (JMP Pro 13.1 en una Mac):
{:height, :weight}
Re: como convertir nombres de columnas a una lista de cadenasGracias por su respuesta.
Desafortunadamente tu código regresa
{Empty()}Re: como convertir nombres de columnas a una lista de cadenasSiguiendo el pensamiento de Jim, ¿tal vez algo como?
Names Default To Here( 1 );
// Make a Graph Builder report
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = Graph Builder( Variables( X( :height ), Y( :weight ) ), Elements( Points( X, Y ), Smoother( X, Y ) ) );
// Post-hoc interrogation of the report . . .
// (1) Get the script that launched the platform (or do: ' sc = gb << getScript')
sc = (Report(gb) << getScriptableObject) << getScript;
// (2) Pick apart the script expression and get what's needed
varList = {};
for(i=1, i<=Narg(Arg(sc,1)), i++,
InsertInto(varList, Arg(Arg(Arg(sc,1), i),1));
);
Print(varList);
El código es un poco conciso, pero puede usar 'Ayuda > Guía de secuencias de comandos' para ver qué hacen 'Arg()' y 'NArg()'.
Re: como convertir nombres de columnas a una lista de cadenasNames Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = Graph Builder( Variables( X( :height ), Y( :weight ) ), Elements( Points( X, Y ), Smoother( X, Y ) ) );
// you could extract the x and y labels if you think
// these might have remained as the variable names
yvar=report(gb)[TextEditBox(3)]<<GET text=""></GET>
Re: como convertir nombres de columnas a una lista de cadenasGracias por los comentarios.
La idea es usar JSL para hacer algo con la lista de variables gráficas (p. ej., verificar qué color asignó el generador de gráficos para una variable determinada (que aún no sé cómo hacerlo)) y usar el resultado para hacer otra cosa (p. ej. asegúrese de que se utiliza el mismo color en otro gráfico).
Analizar todo el script del generador de gráficos devuelto por Get Script para determinar la lista de nombres de variables parece ser una forma bastante complicada de hacerlo.
Re: como convertir nombres de columnas a una lista de cadenasSi está buscando obtener qué variables se usaron Post Hoc para la plataforma que se está ejecutando, siempre puede extraer el script utilizado para producir la plataforma y examinarlo para obtener las variables.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
obj = Graph Builder(
Variables(
X( :Sex ),
Y( :Height ),
Group X( :Age )
),
Elements( Box Plot( X, Y ) )
);
t = obj << Get Script;
Show( t );
Re: como convertir nombres de columnas a una lista de cadenas
Intente agregar String en la función Obtener nombres de columna. Por ejemplo:
col_str = dt << Obtener nombres de columnas (String);
En resultado de
{"Nombre", "País", "Puntuación", "100 m", "Salto de longitud", "Lanzamiento de peso", "Salto de altura", "400 m",
"100 m vallas", "Disco", "Salto con pértiga", "Jabalina", "1500 m"}
Re: como convertir nombres de columnas a una lista de cadenasIntente agregar String como argumento de la función Obtener nombres de columna.
Por ejemplo:
col_str = dt << Obtener nombres de columnas (String);
En resultado de
{"Nombre", "País", "Puntuación", "100 m", "Salto de longitud", "Lanzamiento de peso", "Salto de altura", "400 m",
"100 m vallas", "Disco", "Salto con pértiga", "Jabalina", "1500 m"}Re: como convertir nombres de columnas a una lista de cadenas¿Hay algo similar para Get Variables() ?
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = Graph Builder( Variables( X( :height ), Y( :weight ) ), Elements( Points( X, Y ), Smoother( X, Y ) ) );
gbb = Report( gb )[Graph Builder Box( 1 )];
gbb << Get Variables();
Re: como convertir nombres de columnas a una lista de cadenas¡Gracias!
Re: como convertir nombres de columnas a una lista de cadenasPrueba '<< getColumnNames ( "Cadena" )'.
Esté atento a la información sobre herramientas del editor que aparece para las palabras clave en color, o use 'Ayuda > Índice de secuencias de comandos' para profundizar.