Hallo zusammen,
Ich habe die Testgruppen A und B, 4 verschiedene Elemente, wobei Param2 (das Maximum der Werte von Param1) in der ersten Zelle des entsprechenden Elements gespeichert ist. Die Werte von Param2 werden manchmal einzeln angegeben. Nun möchte ich für jede Testgruppe den Median von Param2 berechnen und erneut speichern
in der ersten Zelle, in der jede Testgruppe beginnt, wie in der Tabelle unten. Ich würde mich über Hinweise freuen, wie ich das im Skript umsetzen kann.
Vielen Dank und beste Grüße.

Hallo,
Danke für den Vorschlag. Es funktioniert, mir ist jedoch aufgefallen, dass ich in den Daten einige andere Gruppen auf hoher Ebene habe, für die der Median innerhalb von Gruppen auf niedrigerer Ebene berechnet werden muss. Ich habe die if-Anweisung leicht angepasst:
Beste grüße
dt << New Column("Med", Numeric, Continuous, Formula(
If(Row() == Col Min(Row(), :High_level_Group, :Low_level_Group),
Col Median(:Param, :High_level_Group, :Low_level_Group)
,
.
)
));Verwenden Sie Col Median, um den Median über Gruppen zu berechnen. Kombinieren Sie das dann mit der if-Anweisung, die mithilfe von Col Min nach der ersten Zeile der Gruppe sucht
Beispiel:
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(8),
New Column("Group", Character, "Nominal", Set Values({"A", "A", "A", "A", "B", "B", "B", "B"})),
New Column("Param", Numeric, "Continuous", Format("Best", 12), Set Values([5, ., ., 6, 3, ., 2, .])),
New Column("Column 4", Numeric, "Continuous", Format("Best", 12), Set Values([., ., ., ., ., ., ., .]))
);
dt << New Column("Med", Numeric, Continuous, Formula(
If(Row() == Col Min(Row(), :Group),
Col Median(:Param, :Group)
,
.
)
));
