Re: busque la cadena en la columna y copie el valor numérico en la segunda columnaAquí hay un ejemplo de funcionamiento para aprender:
Names Default to Here( 1 );
// open reference data table
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
// make container for lookup
lookup = Associative Array();
// get names and ages for lookup
For Each Row(
Insert Into( lookup, dt:name, dt:age );
);
Close( dt, No Save );
// open new table (use Big Class again, delete existing age column)
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Delete Columns( :age );
// make new age column and populate it using lookup table
dt << New Column( "new age", "Numeric", "Continuous" );
For Each Row(
:new age = lookup[ :name ];
);
Re: busque la cadena en la columna y copie el valor numérico en la segunda columnaMientras @Mark_Bailey La sugerencia de usar una matriz asociativa funcionará, creo que un simple Join probablemente resolverá el problema.
- Abra la tabla JMP con 10,000 filas
- Abrir en JMP, el archivo de Excel
- Usando la tabla JMP de Excel como tabla base, use
- Tablas==>Actualizar para hacer coincidir los nombres y agregar las edades a la tabla base
- Guarde la tabla actualizada como un archivo de Excel
Le sugiero que se tome el tiempo de leer la documentación "Descubriendo JMP" y "Usando JMP"
Ayuda==>Biblioteca de documentación de JMP
Re: busque la cadena en la columna y copie el valor numérico en la segunda columnaHola, Mark,
Gracias por las sugerencias. Soy nuevo en JMP, ¿podría sugerirme cómo puedo empezar?
Re: busque la cadena en la columna y copie el valor numérico en la segunda columnaEste caso sería un buen momento para importar el libro de trabajo de Excel con los nombres y las edades y luego cargarlos en una matriz asociativa para la búsqueda.
Re: busque la cadena en la columna y copie el valor numérico en la segunda columnaHola Txnelson,
El archivo JMP tiene 10.000 filas y 2 columnas. El nombre de la primera columna es Persona y el segundo es la edad. Sí, se puede usar para encontrar la tabla de datos t hat tiene la edad de un nombre de pila en la hoja de cálculo de Excel.
El archivo de datos JMP tiene 10.000 filas con diferentes nombres y edades (Cadenas y números)
Tanto el nombre como la edad de la persona se enumeran en el archivo de datos de JMP.
Tengo un archivo de Excel que tiene dos columnas y 500 filas, la primera columna tiene el nombre de las personas y la segunda contiene las edades. Estoy tratando de escribir un script que buscará los 500 datos (nombre de la persona) de Excel en el archivo de datos JMP y copiará el valor de edad correspondiente al nombre de la persona en el archivo de Excel.
Re: busque la cadena en la columna y copie el valor numérico en la segunda columnaTiene 10.000 tablas de datos JMP... ¿correcto?¿Cuáles son los nombres de las tablas de datos?¿Se puede usar eso para determinar cómo encontrar la tabla de datos que tiene la edad de un nombre dado en la hoja de cálculo de Excel?
¿Puede proporcionar información sobre qué datos hay en las tablas de datos de 10 000 JMP y cómo obtiene la edad de la tabla de datos, una vez que encuentra la tabla de datos de JMP correcta?
Realmente se necesitan más detalles antes de que uno pueda intentar resolver su problema.
Re: busque la cadena en la columna y copie el valor numérico en la segunda columnaSí, ese es el enfoque más fácil, pero el problema es que el archivo de datos JMP tiene 10000 conjuntos de datos de diferentes nombres y la hoja de Excel tiene 500 nombres aleatorios de 10000 conjuntos de datos del archivo jmp. Así que quiero algo que pueda buscar ese nombre en particular en Excel y pasar la edad del archivo de datos jmp
Re: busque la cadena en la columna y copie el valor numérico en la segunda columnaSuponiendo que la lista de 500 nombres está en una tabla de datos JMP y tiene ese archivo csv con los nombres y las edades, puede ingresar fácilmente el archivo csv y luego usar
Mesas==>Únete
para hacer coincidir la tabla de datos de nombre/edad con la tabla con la lista de 500 nombres.
Re: busque la cadena en la columna y copie el valor numérico en la segunda columnaHola, Mark,
Tengo una tarea similar, pero mi "clave" es un tipo de datos continuo.
En Excel es muy fácil crear una tabla de consulta y usarla para transformar características altamente no lineales.
En este caso, se trata de datos de voltaje de la batería para estimaciones de estado de carga (SoC) y viceversa. Entonces, me gustaría convertir, por ejemplo, una tabla de datos con datos de voltaje medidos en estimaciones de SoC. Un desafío es que mi tabla de búsqueda puede/no tendrá todos los niveles de voltaje existentes en los datos, por lo que necesito el SoC correspondiente al nivel de voltaje más cercano. Por ejemplo, los datos de voltaje son 3,801 V y la tabla de búsqueda tiene 3,800 V como el valor más cercano y un SoC correspondiente del 51 %.
A veces, mi tarea es convertir "hacia atrás" (SoC => voltaje), pero espero poder crear esa solución por mi cuenta con una buena inspiración;)
BR, Kim.
Re: busque la cadena en la columna y copie el valor numérico en la segunda columnaSi entiendo correctamente lo que quiere hacer (básicamente unir por distancia mínima), hay varias formas de hacerlo (kdtable, vptree, loc, distance, addins, ...). A continuación se muestra un ejemplo
Names Default To Here(1);
dt_lookup = New Table("Untitled",
Add Rows(3),
Compress File When Saved(1),
New Column("Column 1", Numeric, "Continuous", Format("Best", 12), Set Values([3.8, 4.8, 4])),
New Column("Column 2", Numeric, "Continuous", Format("Best", 12), Set Values([50, 52, 51]))
);
dt = New Table("Untitled",
Add Rows(3),
Compress File When Saved(1),
New Column("Column 1", Numeric, "Continuous", Format("Best", 12), Set Values([3.801, 4.801, 4.000, 3.7, 4.802, 4.799]))
);
lookup_values = Column(dt_lookup, "Column 2") << get values;
search_values = Column(dt_lookup, "Column 1") << get values;
dt << New Column("Column 2", Numeric, Continuous, << Set Each Value(
As Constant(tab = KDTable(search_values););
{rows, dist} = tab << K nearest rows(1, Matrix(:Column 1));
lookup_values[rows[1]];
));
A continuación se muestran algunas demostraciones de otras opciones utilizando matrices.
Names Default To Here(1);
lookup_values = [50, 52, 51];
search_values = [3.8, 4.8, 4];
search_val = 4.3;
// These should return row from dt_lookup
kdt = KDTable(search_values);
{kd_rows, kd_dist} = kdt << K nearest rows(1, Matrix(search_val));
vpt = VPTree(search_values);
{vp_rows, vp_dist} = vpt << K nearest rows(1, Matrix(search_val));
dist = Distance(search_values, Matrix(search_val));
lmin_dist = LocMin(dist);
abs_calc = Abs(search_values - search_val);
lmin_abs = LocMin(abs_calc);
show(dist, lmin_dist, abs_calc, lmin_abs, kd_rows, kd_dist, vp_rows, vp_dist);
Re: busque la cadena en la columna y copie el valor numérico en la segunda columnainterpolate() también sería una buena opción.
Busque la cadena en Columna y copie el valor numérico en la segunda columnaTengo una hoja de cálculo de Excel que consta de dos columnas, una columna tiene cadenas con el nombre de la persona y otra columna contiene la edad de la persona. Tengo casi una lista de 500 personas. ¿Hay alguna forma de automatizarlo? ¿Como usar un script para asignar la edad según el nombre de la persona?
Automatización y secuencias de comandos