<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Salut,
J'ai un ensemble de données qui répertorie les widgets dans une colonne et une longue chaîne de codes de défauts dans une autre colonne. Existe-t-il une plate-forme dans JMP bien adaptée à la recherche de modèles de caractères? Par exemple, en supposant que les codes de défaut AZ, qui peuvent apparaître dans n'importe quelle quantité par ligne, les codes {A, E, F} apparaissent-ils souvent ensemble? Ou peut-être que parfois les codes {H, L, P, X} apparaissent souvent ensemble? J'utilise JMP10. Merci!
Exemple de table
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"} )
)
);
Je suis d'accord avec Michael que c'est un problème intéressant. Une idée consiste à développer les codes d'erreur sur plusieurs colonnes (disons des colonnes de A à Z) et à créer un modèle de données manquant (menu Tables). Le modèle peut directement être utile pour illustrer les associations entre les codes de défaut, mais une étape supplémentaire pourrait consister à appliquer Multivariate () sur le modèle manquant. Ou même som une saveur de la plate-forme catégorielle.
Un exemple jsl:
// liste de tous les codes de défaut
def_code_list = { "UNE" , "B" , "C" , "RÉ" , "E" , "F" , "G" , "H" , "JE" , "J" , "K" , "L" , "M" , "N" , "O" ,
"P" , "Q" , "R" , "S" , "T" , "U" , "V" , "W" , "X" , "Y" , "Z" } ;
n = N articles ( def_code_list ) ;
// –––––––––––––––––––––––
// exemple de table
NT = Nouvelle table ( "Codes de défauts" ,
Ajouter des lignes ( 200 ) ,
Nouvelle colonne ( "ID de widget" , Numérique , Continu ) ,
Nouvelle colonne ( "Codes de défauts" , Personnage , Nominal , )
) ;
Colonne ( 1 ) << Définir des valeurs ( Indice ( 1 , N Row ( NT ) ) ) ;
// Ajouter des codes d'effet aléatoires
Pour chaque rangée (
: Codes de défauts = Remplacer (
Carboniser ( def_code_list [ Indice aléatoire ( n , Rond ( Random Exp () + 2 , 0 ) )] ) ,
"{" , "" ,
"}" , "" ,
"\!" " , ""
)
) ;
// contamine avec des combinaisons courantes
: Codes de défaut [ Indice aléatoire ( 200 , dix )] = "A, B, C" ;
: Codes de défaut [ Indice aléatoire ( 200 , 20 )] = "M, N, O" ;
// Étendre à plusieurs colonnes (et créer une liste de colonnes)
colliste = {} ;
Pour ( je = 1 , je <= n , je ++,
col = NT << Nouvelle colonne ( def_code_list [ je ] , personnage , nominal ) ;
Insérer dans ( colliste , col ) ;
) ;
Pour chaque rangée (
ID_codelist = Mots ( : Codes de défauts [] , "," ) ;
Pour ( je = 1 , je <= N articles ( ID_codelist ) , je ++,
Colonne ( NT , Loc ( def_code_list , ID_codelist [ je ] ) [ 1 ] + 2 ) [] = ID_codelist [ je ]
) ;
) ;
// ––––––––––––––––––––––––
// Analyser les données
// modèle de données manquant
mdp = NT << modèle de données manquant ( des colonnes ( Eval ( colliste ) ) ) ;
// Multivarié sur modèle manquant
mdp << multivarié ( des colonnes ( Eval ( colliste ) ) , fréq ( : Compter ) ) ;
Robot,
C'est un problème intéressant et peut-être complexe. Je ne connais pas de plate-forme prête à l'emploi pour cela, cela dépend. Je crois que vous aurez besoin de construire une solution de script (JSL).
La question qui se pose est la suivante: qu'est-ce qu'un motif? Est-ce une chaîne de longueur arbitraire à partir de chaîne longue? Donc pour:
A, B, C, D, E, F, G, H
les motifs peuvent être:
UNE,
B,
UN B
ABC
AVANT JC
A B C D
... etc.
Dans ce qui précède, cela pourrait être un très gros problème informatique.
Ou bien: les motifs sont-ils des blocs discrets et bien définis qui peuvent être séparés? Dans ce cas, séparez-les en une seule colonne empilée et utilisez la plate-forme de distribution.
Michael Haslam