我有一张数据表,我想汇总包含多个唯一值(包括缺失行)的列。所有行都相同的列很无聊,我只想查看更有趣的列。
有几种方法可以做到这一点,但我认为最简单的方法是:
转至 Cols > 列管理器
生成的表格将有一个包含 N Unique 的列,该列会告诉您每列中有多少个唯一项。它还将有一个包含 N Missing 的列,该列会告诉您该列中有多少个缺失值。
不幸的是,对于连续列,N Unique 不会自动计算,但红色弹出菜单提供了强制计算所有数字列的选项。
您还可以使用该表选择只有一个唯一值的列。然后在原始表中选择这些列,以便您可以隐藏和排除它们,这样您就不会被迫看到那些“不感兴趣”的列。
我是卢德分子,JMP17 我害怕。谢谢,我想我可以编写这个脚本,只是想知道是否有人已经破解了它。
我不太喜欢为我的插件做“广告”,但也许分析列会有帮助?我认为公共版本应该可以工作(也可以与 JMP17 一起使用)。带有循环的简单脚本也可以轻松删除/排除/隐藏/或处理此类列。
Jarmo 的插件不错!我需要修改一下,但看起来很棒。这是我想出的脚本,用于汇总任何具有 > 1 个按晶圆划分的唯一条目的列。
dt = Current Data Table();
colList = Current Data Table() << Get Column Names( String );
dcols = {};
For( i = 1, i <= N Items( colList ), i++,
If( Contains( colList[i], " / " ),
Insert Into( dcols, colList[i] )
)
);
Show( dcols );
Split_Cols = {};
Insert Into( Split_Cols, :wafer );
For( j = 1, j <= N Items( dcols ), j++,
summarize(unique_values = by( Column(dcols[j]) ));
if (N Items(unique_values) > 1, Insert Into( Split_Cols, dcols[j] ) );
);
Show(Split_cols);
Current Data Table() << Summary(
Group( Split_cols ),
Freq( "None" ),
Weight( "None" )
);我建议大多数时候使用 For Each、Filter Each 和 Transform Each,因为它们更快且更易于阅读。但是,如果出现问题并且它们确实有一个令人讨厌的错误/功能,那么由于它们的速度,调试和处理它们可能会更烦人”。幸运的是,在这种简单情况下( Function() default local 和 Each 函数的问题),该错误/“功能”不存在。我不确定您是否想将缺失值视为“有效”值,所以我确实在 Filter Each 循环中将 Remove From 注释掉了
Names Default To Here(1);
dt = Current Data Table();
collist = dt << Get Column Names("String");
valid_cols = Filter Each({colname}, collist,
Summarize(dt, vals = By(Eval(colname)));
//Remove From(vals, Contains(vals, "")); // drop missing values if necessary
N Items(vals) > 1;
);
dt_summary = dt << Summary(
Group(valid_cols),
Freq("None"),
Weight("None"),
//Link to original data table(0),
Output Table("Non-Unique Summary")
);
这是创建简单演示表的脚本
dt = New Table("demo",
Compress File When Saved(1),
New Column("Column 1", Character, "Nominal", Set Values({"a", "a", "a", "a"})),
New Column("Column 2", Character, "Nominal", Set Values({"b", "b", "b", ""})),
New Column("Column 3", Character, "Nominal", Set Values({"", "", "", ""})),
New Column("Column 4", Character, "Nominal", Set Values({"c", "d", "", ""})),
New Column("Column 5", Character, "Nominal", Set Values({"c", "d", "e", "f"}))
);
该插件是在 JMP 拥有 Columns Manager 之前创建的,大多数时候我仍然更喜欢它而不是 Columns Manager。我认为它们确实有不同的用例,Columns Manager 试图用一些不错的额外功能取代 Columns Viewer 平台,而 Analyse Columns 的灵感来自pandas profiling(似乎已重命名为 ydata profiling),因为我必须能够快速检查我的数据在汇总统计数据方面的样子。