Estoy buscando completar una simple búsqueda y reemplazo. Estoy creando un script más grande y me gustaría reemplazar parte del texto como un espacio en blanco. Probé el bucle y la función munger, pero parece que todos los ejemplos que encontré en línea son más complicados de lo que necesito. He adjuntado mi conjunto de datos. Básicamente, quiero buscar en toda la tabla "< LOD" y reemplazarlo con un espacio en blanco. Además, me gustaría hacer lo mismo para "---". Finalmente, me gustaría usar un script para cambiar las columnas a numéricas/continuas después de que se haya eliminado el texto.
¡Gracias por la ayuda!
Creo que el tema de mis lecciones de hoy es "Menos es más". Gracias. Eso (otra vez) funciona perfectamente.
Muchas veces, puede eliminar los detalles por grupo y dejar que JMP descubra qué usar, si solo especifica usar un Por grupo.El script a continuación funciona muy bien sin todo el desorden.
Bubble Plot(
X( :RT1 ),
Y( :RT2 ),
Sizes( :Area ),
Coloring( :Group ),
Title Position( 0, 0 ),
By( :Sample ID )
);
Gracias, ese script funcionó perfectamente.
En una nota al margen (y avíseme si tengo que iniciar un nuevo hilo de discusión para esto), pero con mis datos que adjunté anteriormente, estoy tratando de hacer diagramas de burbujas usando un script. Puedo hacer todo de forma interactiva y luego copiar el script; sin embargo, es específico para los nombres de ID de muestra en la primera columna. Usaré este script con muchas tablas de datos diferentes y el diseño de los datos siempre será el mismo, sin embargo, la cantidad de muestras incluidas en el archivo y las identificaciones de las muestras cambiarán. ¿Hay alguna manera fácil de adaptar el script a continuación para que se use para cualquier ID de muestra, en lugar de decir "CM172-001"?
Bubble Plot(
SendToByGroup( {:Sample ID == "CM172-001"} ),
X( :RT1 ),
Y( :RT2 ),
Sizes( :Area ),
Coloring( :Group ),
Title Position( 0, 0 ),
By( :Sample ID ),
SendToByGroup(
{:Sample ID == "CM172-001"},
SendToReport(
Dispatch(
{"Bubble Plot of RT2 by RT1 Sized by Area Sample ID=CM172-001"},
"1",
ScaleBox,
{Min( 11 ), Max( 22 ), Inc( 2 ), Minor Ticks( 1 )}
),
Dispatch(
{"Bubble Plot of RT2 by RT1 Sized by Area Sample ID=CM172-001"},
"2",
ScaleBox,
{Min( 2.84 ), Max( 2.97 ), Inc( 0.02 ), Minor Ticks( 1 )}
)
)
),
SendToByGroup(
{:Sample ID == "CM172-002"},
SendToReport(
Dispatch(
{"Bubble Plot of RT2 by RT1 Sized by Area Sample ID=CM172-002"},
"1",
ScaleBox,
{Min( 10 ), Max( 35 ), Inc( 5 ), Minor Ticks( 1 )}
),
Dispatch(
{"Bubble Plot of RT2 by RT1 Sized by Area Sample ID=CM172-002"},
"2",
ScaleBox,
{Min( 2.8 ), Max( 3.7 ), Inc( 0.1 ), Minor Ticks( 0 )}
)
)
),
SendToByGroup(
{:Sample ID == "CM172-003"},
SendToReport(
Dispatch(
{"Bubble Plot of RT2 by RT1 Sized by Area Sample ID=CM172-003"},
"1",
ScaleBox,
{Min( 11 ), Max( 22 ), Inc( 2 ), Minor Ticks( 1 )}
),
Dispatch(
{"Bubble Plot of RT2 by RT1 Sized by Area Sample ID=CM172-003"},
"2",
ScaleBox,
{Min( 2.83 ), Max( 2.96 ), Inc( 0.02 ), Minor Ticks( 1 )}
)
)
),
SendToByGroup(
{:Sample ID == "CM172-004"},
SendToReport(
Dispatch(
{"Bubble Plot of RT2 by RT1 Sized by Area Sample ID=CM172-004"},
"1",
ScaleBox,
{Min( 10 ), Max( 30 ), Inc( 5 ), Minor Ticks( 1 )}
),
Dispatch(
{"Bubble Plot of RT2 by RT1 Sized by Area Sample ID=CM172-004"},
"2",
ScaleBox,
{Min( 2.6 ), Max( 3.6 ), Inc( 0.2 ), Minor Ticks( 1 )}
)
)
),
SendToByGroup(
{:Sample ID == "CM172-005"},
SendToReport(
Dispatch(
{"Bubble Plot of RT2 by RT1 Sized by Area Sample ID=CM172-005"},
"1",
ScaleBox,
{Min( 10 ), Max( 30 ), Inc( 5 ), Minor Ticks( 1 )}
),
Dispatch(
{"Bubble Plot of RT2 by RT1 Sized by Area Sample ID=CM172-005"},
"2",
ScaleBox,
{Min( 2.7 ), Max( 3.7 ), Inc( 0.2 ), Minor Ticks( 1 )}
)
)
)
);Aquí hay una pieza de código simple que encuentra los valores que desea cambiar, los cambia y luego establece las columnas en numéricas y continuas.
Names Default To Here( 1 );
dt = Current Data Table();
colList = dt << get column names( character, string );
For( i = 1, i <= N Items( colList ), i++,
selRows = dt << get rows where(
Column( dt, colList[i] )[Row()] == "< LOD" | Column( dt, colList[i] )[Row()] == "---"
);
If( N Rows( selRows ) > 0,
Column( dt, colList[i] )[selRows] = "";
Column( dt, colList[i] ) << data type( "numeric" ) << modeling type( "continuous" );
);
);
Bueno, eso corta un paso entonces! Gracias por la ayuda. Más fácil.
Si cambia el tipo de datos de carácter a numérico, los valores como "
Names Default to Here( 1 );
dt = New Table( "test",
New Column( "data",
Character, Nominal,
Values( { "3.1", "4.5", "<LOD></LOD>Re: Buscar y reemplazar de forma sencillaAgradezco la palabra de precaución, sin embargo, solo estoy usando los datos para graficar huellas dactilares, y el simple hecho de que el compuesto no fue detectado es de nuestro interés. Para cualquier análisis estadístico, imputaríamos los valores de ND en función de los límites de detección proporcionados.
Independientemente de su pregunta de secuencias de comandos, reemplazar los valores censurando . Debe usar estimadores que manejen datos censurados así como datos exactos.