<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hola,
Tengo un conjunto de datos que enumera los widgets en una columna y una larga cadena de códigos de defectos en otra columna. ¿Hay una plataforma en JMP adecuada para encontrar patrones de caracteres? Por ejemplo, suponiendo que los códigos de defecto AZ, que pueden aparecer en cualquier cantidad por fila, ¿los códigos {A, E, F} a menudo aparecen juntos? O tal vez a veces los códigos {H, L, P, X} a menudo aparecen juntos? Estoy usando JMP10. ¡Gracias!
Tabla de ejemplo
nt = New Table( "Defect Codes",
Add Rows( 3 ),
New Column( "Widget ID",
Numeric,
Continuous,
Format( "Best", 12 ),
Set Values( [1, 2, 3] )
),
New Column( "Defect Codes",
Character,
Nominal,
Set Values( {"K,V,Q,D", "A,P", "N,D,H"} )
)
);
Estoy de acuerdo con Michael en que este es un problema interesante. Una idea es expandir los códigos de error sobre varias columnas (digamos columnas de la A a la Z) y realizar un patrón de datos faltantes (Menú Tablas). El patrón puede ser directamente útil para ilustrar asociaciones entre códigos de defecto, pero un paso adicional podría ser aplicar Multivariate () en el patrón que falta. O incluso algún sabor de la plataforma categorial.
Un ejemplo de jsl:
// lista de todos los códigos de defecto
def_code_list = { "UNA" , "SEGUNDO" , "DO" , "RE" , "MI" , "F" , "SOL" , "H" , "YO" , "J" , "K" , "L" , "METRO" , "NORTE" , "O" ,
"PAG" , "Q" , "R" , "S" , "T" , "U" , "V" , "W" , "X" , "Y" , "Z" } ;
norte = N artículos ( def_code_list ) ;
// –––––––––––––––––––––––
// tabla de ejemplo
Nuevo Testamento = Nueva mesa ( "Códigos de defecto" ,
Añadir filas ( 200 ) ,
Nueva Columna ( "ID de widget" , Numérico , Continuo ) ,
Nueva Columna ( "Códigos de defecto" , Personaje , Nominal , )
) ;
Columna ( 1 ) << Establecer valores ( Índice ( 1 , N fila ( Nuevo Testamento ) ) ) ;
// Añadir códigos de efectos aleatorios
Por cada fila (
: Códigos de defecto = Sustituir (
Carbonizarse ( def_code_list El Índice aleatorio ( norte , Redondo ( Exp. Aleatoria () + 2 , 0 ) )] ) ,
"{" , "" ,
"}" , "" ,
"\!" " , ""
)
) ;
// contaminar con algunas combinaciones comunes
: Códigos de defecto El Índice aleatorio ( 200 , 10 )] = "A B C" ;
: Códigos de defecto El Índice aleatorio ( 200 , 20 )] = "M, N, O" ;
// Expandir a múltiples columnas (y hacer una lista de columnas)
colista = {} ;
por ( yo = 1 , yo <= norte , yo ++,
columna = Nuevo Testamento << Nueva Columna ( def_code_list El yo ] , personaje , nominal ) ;
Insertar en ( colista , columna ) ;
) ;
Por cada fila (
ID_codelist = Palabras ( : Códigos de defecto [] , " ) ;
por ( yo = 1 , yo <= N artículos ( ID_codelist ) , yo ++,
Columna ( Nuevo Testamento , Loc ( def_code_list , ID_codelist El yo ] ) [ 1 ] + 2 ) [] = ID_codelist El yo ]
) ;
) ;
// ––––––––––––––––––––––––
// Analizar datos
// Patrón de datos faltantes
mdp = Nuevo Testamento << patrón de datos faltantes ( columnas ( Evaluar ( colista ) ) ) ;
// Multivariable en patrón faltante
mdp << multivariable ( columnas ( Evaluar ( colista ) ) , frecuencia ( : Contar ) ) ;
Robot,
Este es un problema interesante y quizás complejo. No sé de una plataforma fuera de la caja para esto, dependiendo. Creo que necesitarás construir una solución de scripting (JSL).
La pregunta operativa es ¿qué es un patrón? ¿Es una cadena de longitud arbitraria de cadena larga? Entonces, para
A, B, C, D, E, F, G, H
los patrones pueden ser:
UNA,
SEGUNDO,
A, B
A B C
ANTES DE CRISTO
A B C D
... etc.
En lo anterior, podría ser un problema informático muy grande.
O bien: son los patrones discretos, bloques bien definidos que se pueden separar. En este caso, sepárelos en una sola columna apilada y use la plataforma de distribución.
Michael Haslam