Wie extrahiere ich den Monat in Worten aus einem Datumswert und wie ändere ich die Standardmarkierung für Ausreißer?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo allerseits.
1.) Wie kann ich den Monat in Worten aus einem Datumswert für eine ganze Spalte extrahieren?
Angenommen, in Zelle Nr. 1 steht das Datum „ 19.03.2009 ". Ich möchte, dass die nächste Spalte den Monat enthält - " Marsch ", in diesem Beispiel.
2.) Gibt es eine Möglichkeit, die Standardmarkierung für Ausreißer zu ändern – beispielsweise die Ausreißermarkierungen global in ein umrissenes Dreieck umzuwandeln?
Schätzen Sie die Hilfe.
Betreff: Wie extrahiere ich den Monat in Worten aus einem Datumswert und wie ändere ich die Standardmarkierung für Ausreißer?eine anspruchsvollere Version:
Names Default To Here( 1 );
// make a sample data table
dt = New Table( "Data",
add rows( 10000 ),
New Column( "it", Numeric, Ordinal, Format( "Best", 8 ), Formula( Row() ) ),
New Column( "Batch", Numeric, Ordinal, Format( "Best", 8 ), formula( Random Integer( 110 ) ) ),
New Column( "y1", Numeric, Continues, Format( "Best", 8 ), formula( Random Lognormal( :Batch / 10, 5 ) ) ),
New Column( "y2", Numeric, Continues, Format( "Best", 8 ), formula( Random Lognormal( :Batch / 10, 5 ) ) ),
New Column( "Out",
Numeric,
Ordinal,
Format( "Best", 8 ),
Set Property( "Value Colors", {0 = -13977687, 1 = -4222943} ),
Color Cell by Value,
formula( 0 )
),
New Column( "Outy1",
Numeric,
Ordinal,
Format( "Best", 8 ),
Set Property( "Value Colors", {0 = -13977687, 1 = -4222943} ),
Color Cell by Value,
formula( 0 )
),
New Column( "Outy2",
Numeric,
Ordinal,
Format( "Best", 8 ),
Set Property( "Value Colors", {0 = -13977687, 1 = -4222943} ),
Color Cell by Value,
formula( 0 )
),
);
dt << run formulas;
Column( dt, "it" ) << delete formula;
Column( dt, "Batch" ) << delete formula;
Column( dt, "y1" ) << delete formula;
Column( dt, "y2" ) << delete formula;
Column( dt, "Out" ) << delete formula;
Column( dt, "Outy1" ) << delete formula;
Column( dt, "Outy2" ) << delete formula;
// now we get to work
// make a list of batches
byvarlist = Associative Array( dt:Batch ) << get keys;
// make a list of columns
cols = dt << get column names( Continuous ); //List all Numeric columns
// loop through the batches
For( i = 1, i <= N Items( byvarlist ), i++,
// select each batch
dt << select where( dt:Batch == byvarlist[i] );
// subset each batch
subdt = dt << Subset( Selected Rows( 1 ) );
// clear selection for smoth workflow
dt << clear select;
// finde outliers in each variable within each batch
For( ii = 1, ii <= N Items( cols ), ii++,
out = Eval(
Parse(
"subdt << get rows where(
subdt:" || Char( cols[ii] ) || " > Col Quantile( subdt:" || Char( cols[ii] ) ||
", 0.75 ) + 1.5 * (Col Quantile( subdt:" || Char( cols[ii] ) || ", 0.75 ) - Col Quantile( subdt:" || Char( cols[ii] ) ||
", 0.25 )) | subdt:" || Char( cols[ii] ) || " <
Col Quantile( subdt:" || Char( cols[ii] ) ||
", 0.25 ) - 1.5 * (Col Quantile( subdt:" || Char( cols[ii] ) || ", 0.75 ) - Col Quantile( subdt:" || Char( cols[ii] ) ||
", 0.25 )));"
)
)`;
Eval( Parse( "column (subdt, \!"Out" || Char( cols[ii] || "\!" )[" || Char( out ) || "] = 1;" ) ) );
// also indicate the global outlier
Column( subdt, "Out" )[out] = 1;
//wait (0.00001);
);
// update original data table with new information for the batch
subdt << delete columns( "Batch" );
subdt << delete columns( cols );
dt << Update( With( subdt ), Match Columns( :it = :it ) );
Close( subdt, No Save );
//Wait( 0.00001 );
);
dt << color by column( :Out );
Betreff: Wie extrahiere ich den Monat in Worten aus einem Datumswert und wie ändere ich die Standardmarkierung für Ausreißer?Funktioniert wie eine VLookup(false)-Funktion.
Danke, Ian !
Betreff: Wie extrahiere ich den Monat in Worten aus einem Datumswert und wie ändere ich die Standardmarkierung für Ausreißer?Vielleicht nicht besser, aber alternativ könnten Sie auch „Month()“ verwenden und eine Wertebeschriftungseigenschaft definieren:
Neuer Tisch ( „Monat des Datums“ ,
Zeilen hinzufügen ( 1 ) ,
Neue Spalte ( "Datum" ,
Numerisch ,
„Kontinuierlich“ ,
Format ( „m/t/j“ , 12 ) ,
Eingabeformat ( „m/t/j“ ) ,
Formel ( Heute () )
) ,
Neue Spalte ( "Monat" ,
Numerisch ,
„Kontinuierlich“ ,
Format ( "Am besten" , 12 ) ,
Formel ( Monat ( : Datum ) ) ,
Wertetiketten (
{ 1 = "Januar" , 2 = "Februar" , 3 = "Marsch" , 4 = "April" , 5 = "Mai" , 6
= "Juni" , 7 = "Juli" , 8 = "August" , 9 = "September" , 10 = "Oktober" , 11
= "November" , 12 = "Dezember" }
) ,
Verwenden Sie Werteetiketten ( 1 )
)
)
Betreff: Wie extrahiere ich den Monat in Worten aus einem Datumswert und wie ändere ich die Standardmarkierung für Ausreißer?Cooles Drehbuch, Ron !
Ich habe es mit Fit Y von X, Distribution & Graph Builder ausprobiert und es hat wunderbar funktioniert *
Ich bin wirklich dankbar und bewundere Ihr Fachwissen bei JMP, Ron & Jim.
Betreff: Wie extrahiere ich den Monat in Worten aus einem Datumswert und wie ändere ich die Standardmarkierung für Ausreißer?Sehr geschätzt, Jim !
Ich war kurz davor aufzugeben und mich einfach für Substring() oder Left() zu entscheiden.
Ihre Lösung funktioniert perfekt.
- Randy
Betreff: Wie extrahiere ich den Monat in Worten aus einem Datumswert und wie ändere ich die Standardmarkierung für Ausreißer?Eine andere nicht empfohlene Möglichkeit, das zu tun, was Sie möchten, besteht darin, die Einstellungen für ausgewählte Zeilen in Diagrammen zu ändern. Ich empfehle nicht, mit Auswahlen zu arbeiten, da einige andere Befehle standardmäßig die Auswahl anstelle aller Zeilen in der Tabelle verwenden. aber du kannst es trotzdem versuchen:
Namen standardmäßig hier ( 1 ) ;
//Achtung: Das Ändern einer Präferenz wird
//beeinflusst das Standardverhalten von JMP.
Präferenzen ( Markierungsauswahlmodus ( 1 ) ) ; // Sie können dies auch über das Menü „Datei>> Einstellungen“ tun, Sie müssen es nur einmal tun.
dt = Offen ( „$SAMPLE_DATA/Big Class.jmp“ ) ;
// Spaltenliste abrufen
Spalten = dt << Spaltennamen abrufen ( Kontinuierlich ) ; //Alle numerischen Spalten auflisten
Für ( ich = 1 , ich <= N Artikel ( Spalten ) , ich ++,
aus = Bewertung (
Analysieren (
"dt << Zeilen abrufen where(
dt:" || Verkohlen ( Spalten [ ich ] ) || " > Col Quantile( dt:" || Verkohlen ( Spalten [ ich ] ) || ", 0,75 ) + 1,5 * (Col Quantile( dt:" ||
Verkohlen ( Spalten [ ich ] ) || ", 0,75 ) - Col Quantile( dt:" || Verkohlen ( Spalten [ ich ] ) || ", 0,25 )) | dt:" || Verkohlen ( Spalten [ ich ] ) || " <
Col Quantile( dt:"
|| Verkohlen ( Spalten [ ich ] ) || ", 0,25 ) - 1,5 * (Col Quantile( dt:" || Verkohlen ( Spalten [ ich ] ) || ", 0,75 ) - Col Quantile( dt:" || Verkohlen ( Spalten [ ich ] ) ||
", 0,25 )));"
)
) `;
ausgewählt = dt << Zeilen auswählen ( aus ) ;
ausgewählt << Markierungen ( 17 ) ;
//selected << Markergröße (5); // keine solche Option
) ;
// Sehen Sie, wie es aussieht
neues Fenster ( "Ausgabe" ,
h Listenfeld (
Verteilung (
Kontinuierliche Verteilung ( Spalte ( : Höhe ) , Prozente anzeigen ( 1 ) , Passen Sie die Zusammenfassungsstatistik an ( Summe ( 1 ) ) ) ,
Kontinuierliche Verteilung ( Spalte ( : Gewicht ) , Prozente anzeigen ( 1 ) , Passen Sie die Zusammenfassungsstatistik an ( Summe ( 1 ) ) ) ,
SendToReport (
Versenden ( { „Verteilungen“ , "Höhe" } , „Verteilungshistogramm“ , FrameBox , { VersandSeg ( Hist Seg ( 1 ) , Histogrammfarbe ( 53 ) )} ) ,
Versenden ( { „Verteilungen“ , "Gewicht" } , „Verteilungshistogramm“ , FrameBox , { VersandSeg ( Hist Seg ( 1 ) , Histogrammfarbe ( 53 ) )} )
)
) ,
Bivariat ( Y ( : Höhe ) , X ( : Gewicht ) )
)
) ;
Betreff: Wie extrahiere ich den Monat in Worten aus einem Datumswert und wie ändere ich die Standardmarkierung für Ausreißer?Hi Rabelardo ,
txnelson hat bei beiden Themen Recht. Wenn Sie jedoch die Markierung für univariate Ausreißer (Bruteforce-Stil) festlegen möchten, können Sie Folgendes versuchen.
Es kann ein Vorteil (oder Nachteil) sein, dass jede Zeile, die in einer Spalte ein Ausreißer ist, jetzt die Sondermarkierung erhält. Sie können dies ändern, um die Ausreißer in bestimmten Spalten zu markieren, während Sie mit der Analyse fortfahren.
Viel Glück!
Ron
Namen standardmäßig hier ( 1 ) ;
dt = Offen ( „$SAMPLE_DATA/Big Class.jmp“ ) ;
// Spaltenliste abrufen
Spalten = dt << Spaltennamen abrufen ( Kontinuierlich ) ; //Alle numerischen Spalten auflisten
Für ( ich = 1 , ich <= N Artikel ( Spalten ) , ich ++,
aus = Bewertung (
Analysieren (
"dt << Zeilen abrufen where(
dt:" || Verkohlen ( Spalten [ ich ] ) || " > Col Quantile( dt:" || Verkohlen ( Spalten [ ich ] ) || ", 0,75 ) + 1,5 * (Col Quantile( dt:" ||
Verkohlen ( Spalten [ ich ] ) || ", 0,75 ) - Col Quantile( dt:" || Verkohlen ( Spalten [ ich ] ) || ", 0,25 )) | dt:" || Verkohlen ( Spalten [ ich ] ) || " <
Col Quantile( dt:"
|| Verkohlen ( Spalten [ ich ] ) || ", 0,25 ) - 1,5 * (Col Quantile( dt:" || Verkohlen ( Spalten [ ich ] ) || ", 0,75 ) - Col Quantile( dt:" || Verkohlen ( Spalten [ ich ] ) ||
", 0,25 )));"
)
)` ;
ausgewählt = dt << Zeilen auswählen ( aus ) ;
ausgewählt << Markierungen ( „*“ ) ;
ausgewählt << klare Auswahl ;
) ;
// Sehen Sie, wie es aussieht
Verteilung (
Kontinuierliche Verteilung ( Spalte ( : Höhe ) , Prozente anzeigen ( 1 ) , Passen Sie die Zusammenfassungsstatistik an ( Summe ( 1 ) ) ) ,
Kontinuierliche Verteilung ( Spalte ( : Gewicht ) , Prozente anzeigen ( 1 ) , Passen Sie die Zusammenfassungsstatistik an ( Summe ( 1 ) ) ) ,
SendToReport (
Versenden ( { „Verteilungen“ , "Höhe" } , „Verteilungshistogramm“ , FrameBox , { VersandSeg ( Hist Seg ( 1 ) , Histogrammfarbe ( 53 ) )} ) ,
Versenden ( { „Verteilungen“ , "Gewicht" } , „Verteilungshistogramm“ , FrameBox , { VersandSeg ( Hist Seg ( 1 ) , Histogrammfarbe ( 53 ) )} )
)
) ;
Betreff: Wie extrahiere ich den Monat in Worten aus einem Datumswert und wie ändere ich die Standardmarkierung für Ausreißer?Folgende Ergebnisse wurden erzielt:

Durch Anwenden der folgenden Formel auf die Monatsspalte:

Betrifft Ihre zweite Frage zum Zuweisen bestimmter Marker zu Ausreißern.Das Problem dabei ist, dass Markierungen als Zeilenstatus Zeilen zugewiesen werden, nicht Zellen innerhalb von Spalten.Daher ist es nicht möglich, eine globale Zuweisung von Ausreißermarkierungen für jede Spalte vorzunehmen.