Col 函数和行状态根据 JMP 版本 15 的发行说明:
Col 函数通过 Excluded(Row State()) 函数尊重排除的行。
列最大值(:高度,:性别,排除(行状态()));
但是,这种语法似乎不起作用。任何人都可以建议正确的语法吗?
脚本回复:Col 函数和行状态我认为这与分箱背后的概念相同。 对于每个观察,您都将一个值映射到另一个值,在这种情况下,是一个组值。 它可能是一个垃圾箱。 它可能是集中趋势的衡量标准。
回复:Col 函数和行状态好,谢谢。我无法真正理解为表的每一行生成列统计信息的想法,但我想肯定有用例。我将坚持使用用户定义的函数来计算列统计信息,同时考虑行排除。
回复:Col 函数和行状态根据文件,当指定 By 变量时,应在列公式或 For Each Row() 中使用该函数:
(可选)A 按变量计算统计跨行组。 在 a 中使用 By 变量山口umn 公式或在对于每一行()功能。
在回顾这篇文章前面的一些例子时,我同意它似乎将排除的值视为它们自己的 By 级别。
回复:Col 函数和行状态看起来它与列公式一起使用,其中 Row() 函数在评估时定义。
回复:Col 函数和行状态在一台计算机上它可以工作:

另一方面,它失败了:

回复:Col 函数和行状态与大班合作(当然):
colmaximum(:height,excluded(rowstate()))
这是有效的。但是在一台计算机上而不是另一台计算机上。两者都运行 15.1.0。
现在我完全糊涂了!
下一篇文章截图...
回复:Col 函数和行状态有趣的。 JMP 16 的预发布版本似乎适用于 r=1 和 r=2,但此后就不行了:
NamesDefaultToHere(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
mw = J(NRow(dt), 2, .);
for(r=1, r<=NRow(dt), r++,
Row() = r;
RowState(Row()) = ExcludedState(1);
mw[r,1] = ColMean(:weight, Excluded(RowState(Row())));
mw[r,2] = ColMean(:weight, Excluded());
RowState(Row()) = ExcludedState(0);
);
AsTable(mw);
dt << Distribution(
Continuous Distribution(
Column( :weight ),
Quantiles( 0 ),
Histogram( 0 ),
Outlier Box Plot( 0 )
),
Local Data Filter(
Add Filter(
columns( Transform Column( "Row", Nominal, Formula( Row() ) ) ),
Where( Transform Column( "Row", Nominal, Formula( Row() ) ) == 1 ),
Display(
Transform Column( "Row", Nominal, Formula( Row() ) ),
N Items( 15 ),
Find( Set Text( "" ) )
)
)
)
);回复:Col 函数和行状态戴夫,
非常混乱。 我想这是我们的朋友温迪的问题。回复:Col 函数和行状态我可以编写一个解决方案——我的问题是关于版本 15 是否允许仅使用列函数来完成——这是我从发行说明中得到的印象。
回复:Col 函数和行状态在这种情况下,尊重意味着排除只是列统计公式中的附加 byVar 吗?
如果您想要没有排除值的列的最大值,您可以使用 Summarize 而不是 Col Maximum 吗? 它似乎忽略了排除的行。
Names Default To Here(1);
dt =New Table("ExcludeColMax",
Add Rows(6),
Compress File When Saved(1),
New Column("A",
Numeric,
"Continuous",
Format("Best", 12),
Set Values([1, 10, 100, 2, 20, 200]),
Set Display Width(46)
),
New Column("B",
Character,
"Nominal",
Set Values({"A", "A", "A", "B", "B", "B"})
),
New Column("C",
Numeric,
"Continuous",
Format("Best", 12),
Formula(Col Maximum(:A, :B, Excluded())),
Set Display Width(65)
),
Set Row States([0, 0, 6, 6, 0, 6])
);
Write("Looping col max:");
For Each Row(
Show(Col Maximum(:A, :B, Excluded()))
);
Write("\!N\!NOnly col max:");
Show(Col Maximum(:A, :B, Excluded()));
Write("\!N\!NSummarize:");
Summarize(dt, exg = By(:B), exm = Max(:A));
Show(Eval List({exg, exm}));
Show(Max(exm));回复:Col 函数和行状态我用 v15.2 测试过,问题是一样的。请注意,该用例是在脚本中使用该函数,而不是在列公式中(不知道为什么我想要一行中的列统计信息)。
回复:Col 函数和行状态如果其他人出现,我将在此处添加这个非常简单的示例:

Names Default To Here(1);
New Table("ExcludeColMax",
Add Rows(6),
Compress File When Saved(1),
New Column("A",
Numeric,
"Continuous",
Format("Best", 12),
Set Values([1, 10, 100, 2, 20, 200]),
Set Display Width(46)
),
New Column("B",
Character,
"Nominal",
Set Values({"A", "A", "A", "B", "B", "B"})
),
New Column("C",
Numeric,
"Continuous",
Format("Best", 12),
Formula(Col Maximum(:A, :B, Excluded())),
Set Display Width(65)
),
Set Row States([0, 0, 6, 6, 6, 0])
);回复:Col 函数和行状态谢谢你让我知道。这不适用于 15.1 - 我将尝试与 15.2 进行比较。
回复:Col 函数和行状态我很快进行了测试,似乎只使用 Excluded() 似乎有效(我使用的是 15.2.1)。