列
大家好,
我有几个专栏:
1-“平均数”列
2-“数字”列
数字从 1 到 10,000。
通常属于组 (2) 的每一列也应属于组 (1),反之亦然。 所以我们应该在两组中有相同数量的列。
但是,属于第 1 组的列不属于第 2 组,反之亦然。
例子: “平均 730”但“730”列不存在。
目标是让这两组相交,以便两组中有相同的列。
数据表回复:colonnes关联数组可以在制作交集时提供帮助集合运算中的关联数组 (jmp.com)如果你能让钥匙看起来一样。 或者您可以堆叠表,使它们看起来相似,然后执行连接。 我认为最困难的部分可能是如何获得您感兴趣的列列表,这取决于您的数据。
回复:专栏这些列在同一个数据表中。
这是从我的数据库中获取的示例:

我的目标是删除“持续时间 721”、“730”和“750”列
回复:colonnes使用关联数组的一种选择
Names Default To Here(1);
dt = Open("$DOWNLOADS/AA.jmp");
// build
aa_duree = Associative Array();
aa_nonduree = Associative Array();
For Each({col_name}, dt << Get Column Names("String"),
If(Word(1, col_name) == "durée",
aa_duree[Word(-1, col_name)] = col_name;
, !IsMissing(Regex(col_name, "\d+")),
aa_nonduree[col_name] = 1;
,
continue()
);
);
aa_duree_copy = aa_duree;
aa_duree_copy << Intersect(aa_nonduree);
cols_to_keep = Insert(aa_duree_copy << get keys, aa_duree_copy << get values);
aa_duree_copy2 = aa_duree;
aa_nonduree_copy = aa_nonduree;
aa_duree_copy2 << remove(aa_nonduree);
aa_nonduree_copy << remove(aa_duree);
cols_to_remove = Insert(aa_nonduree_copy << get keys, aa_duree_copy2 << get values);
show(cols_to_keep, cols_to_remove);
还有其他选项,例如加入堆叠表或仅使用列表
回复:专栏太好了,谢谢,它有效!
但是列在“cols_to_remove”列表中,如何直接在数据表中删除这些列?
回复:colonnes使用dt<<删除列(column1, column2, ...)
