<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo,
Ich habe einen Datensatz, der Widgets in einer Spalte und eine lange Reihe von Fehlercodes in einer anderen Spalte aufführt. Gibt es in JMP eine Plattform, die sich gut zum Auffinden von Zeichenmustern eignet? Nehmen wir beispielsweise an, dass die Fehlercodes AZ, die in einer beliebigen Anzahl pro Zeile erscheinen können, die Codes {A, E, F} häufig zusammen erscheinen? Oder vielleicht erscheinen die Codes {H, L, P, X} oft zusammen? Ich verwende JMP10. Vielen Dank!
Beispieltabelle
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"} )
)
);
Beeindruckend! Sehr glatt Danke für die Eingabe.
Ich stimme mit Michael überein, dass dies ein interessantes Problem ist. Eine Idee ist, die Fehlercodes auf mehrere Spalten zu erweitern (beispielsweise die Spalten A bis Z) und ein fehlendes Datenmuster auszuführen (Menü "Tables"). Das Muster kann direkt zur Veranschaulichung von Assoziationen zwischen Fehlercodes hilfreich sein, ein zusätzlicher Schritt könnte jedoch darin bestehen, Multivariate () auf das fehlende Muster anzuwenden. Oder sogar etwas von der kategorialen Plattform.
Ein jsl-Beispiel:
// Liste aller Fehlercodes
def_code_list = { "EIN" . "B" . "C" . "D" . "E" . "F" . "G" . "H" . "ICH" . "J" . "K" . "L" . "M" . "N" . "O" .
"P" . "Q" . "R" . "S" . "T" . "U" . "V" . "W" . "X" . "Y" . "Z" } ;
n = N Artikel ( def_code_list ) ;
// ––––––––––––––––
// Beispieltabelle
nt = Neue Tabelle ( "Fehlercodes" .
Zeilen hinzufügen ( 200 ) .
Neue Spalte ( "Widget ID" . Numerisch . Kontinuierlich ) .
Neue Spalte ( "Fehlercodes" . Charakter . Nominal . )
) ;
Säule ( 1 ) << Werte setzen ( Index ( 1 . N Row ( nt ) ) ) ;
// zufällige Effektcodes hinzufügen
Für jede Reihe (
: Fehlercodes = Ersatz (
Verkohlen ( def_code_list [ Zufälliger Index ( n . Runden ( Zufällige Exp () + 2 . 0 ) )] ) .
"{" . "" .
"}" . "" .
"\!" " . ""
)
) ;
// mit einigen gebräuchlichen Kombinationen kontaminieren
: Fehlercodes [ Zufälliger Index ( 200 . 10 )] = "A, B, C" ;
: Fehlercodes [ Zufälliger Index ( 200 . 20 )] = "M, N, O" ;
// auf mehrere Spalten erweitern (und Spaltenliste erstellen)
Collist = {} ;
Zum ( ich = 1 . ich <= n . ich ++
col = nt << Neue Spalte ( def_code_list [ ich ] . Charakter . nominal ) ;
Einfügen in ( Collist . col ) ;
) ;
Für jede Reihe (
ID_Codelist = Wörter ( : Fehlercodes [] . "," ) ;
Zum ( ich = 1 . ich <= N Artikel ( ID_Codelist ) . ich ++
Säule ( nt . Loc ( def_code_list . ID_Codelist [ ich ] ) [ 1 ] + 2 ) [] = ID_Codelist [ ich ]
) ;
) ;
// ––––––––––––––––
// Daten analysieren
// Fehlendes Datenmuster
MDP = nt << Fehlendes Datenmuster ( Säulen ( Eval ( Collist ) ) ) ;
// Multivariate bei fehlendem Muster
MDP << multivariate ( Säulen ( Eval ( Collist ) ) . freq ( : Anzahl ) ) ;
Roboter,
Dies ist ein interessantes und möglicherweise komplexes Problem. Ich weiß nicht, dass es eine Out-of-the-Box-Plattform gibt. Ich glaube, Sie müssen eine Scripting-Lösung (JSL) erstellen.
Die operative Frage lautet: Was ist ein Muster? Handelt es sich um eine beliebige Länge von langer Zeichenfolge? So für:
A B C D E F G H
Die Muster könnten sein:
EIN,
B,
A, B
ABC
B, C
A B C D
... usw.
In den obigen Ausführungen könnte es sich um ein sehr großes Rechenproblem handeln.
Oder: Sind die Muster diskrete, klar definierte Blöcke, die getrennt werden können? Trennen Sie sie in diesem Fall in einer einzigen, gestapelten Spalte und verwenden Sie die Verteilerplattform.
Michael Haslam