Spaltenmittelwert aus bestimmten Zeilen - dann Mittelwert in eine neue Spalte eintragenIch möchte einen Spaltenmittelwert berechnen, mit der Bedingung, dass er nur die Zeilen mit einer bestimmten ID enthält. In diesem Fall möchte ich nur die Daten für die leeren Felder mitteln. Ich möchte, dass die Ausgabe eine neue Spalte füllt. Das Ergebnis sieht folgendermaßen aus:

Ich weiß, wie ich das mit der Anwendung „Tabelle > Zusammenfassung“ erreichen kann, aber ich weiß nicht, wie ich das in meiner Datentabelle machen und sie nach unten ausfüllen kann. Vielen Dank für die Hilfe!
Datenzusammenführung und -bereinigungBetreff: Spaltenmittelwert aus bestimmten Zeilen - dann Mittelwert in eine neue Spalte einfügenBitte beachten Sie - Col-Aggregationen wie
Col Mean(If(:Sample ID == "Blank", :Data, .))
sind aufgrund des Zeichenvergleichs im if-Ausdruck sehr (!!!) langsam.
Bei einigen Tausend Zeilen ist das in Ordnung, bei Tabellen mit Millionen von Zeilen kann dies jedoch sehr viel Zeit in Anspruch nehmen.
Besser: Fügen Sie eine Dummy-Spalte hinzu, die die Zeichenspalte (:Sample ID) numerischen Werten zuordnet, und verwenden Sie die numerische Spalte innerhalb des if-Ausdrucks -> um Größenordnungen schneller!
Tipps und Tricks - Best Practice mit JMP/JSL
Betreff: Spaltenmittelwert aus bestimmten Zeilen - dann Mittelwert in eine neue Spalte einfügenSie können einfach das, was ich Ihnen bereitgestellt habe, als neue Formelspalte hinzufügen und JMP kann das anschließend ganz einfach für Sie skripten.
Es würde ungefähr so aussehen
Names Default To Here(1);
Current Data Table() << New Column("Blank Average", Numeric, Continuous, Formula(
Col Mean(If(:Sample ID == "Blank", :Data, .))
));Betreff: Spaltenmittelwert aus bestimmten Zeilen - dann Mittelwert in eine neue Spalte einfügenDanke für Ihre Antwort. Ich muss den berechneten Spaltenmittelwert in eine neue Spalte eintragen. Hier ist ein Skript, das ich beim Herumspielen mit chatgpt verwendet habe, aber es funktioniert nicht.
// Assuming your data table is already open
dt = Current Data Table();
// Calculate the mean of the "Data" column where "Sample ID" is "Blank"
meanValue = Col Mean(If(:Sample ID == "Blank", :Data, Missing()));
// Create a new column for the Blank Average
dt << New Column("Blank Average", Numeric, Continuous);
// Populate the "Blank Average" column with the calculated mean for all rows
dt << Set Values(:Blank Average, meanValue);Betreff: Spaltenmittelwert aus bestimmten Zeilen - dann Mittelwert in eine neue Spalte einfügenSie können Zusammenfassung verwenden und dann Join/Update verwenden, um es Ihrer Originaltabelle hinzuzufügen. Oder Sie können eine Formel verwenden. Eine solche Formel ist
Col Mean(If(:Sample ID == "Blank", :Data, .))