大家好,
我有测试组 A 和 B,4 个不同的项目,Param2(Param1 值的最大值)保存在相应项目的第一个单元格中。 Param2 的值有时是按手牌提供的。 现在我想计算每个测试组的Param2的中位数并再次保存
在每个测试组开始的第一个单元格中,如下表所示。 我将不胜感激您提示我如何在脚本中做到这一点。
感谢你并致以真诚的问候。

你好,
谢谢你的建议。 它正在起作用,但是我注意到我的数据中有一些其他甚至高级别组,需要计算较低级别组内的中位数。 我稍微修改了 if 语句:
此致
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)
,
.
)
));使用 Col Median 计算各组的中位数。 然后将其与 if 语句结合使用 Col Min 检查组的第一行
例子:
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)
,
.
)
));
