Col Sum引用了错误的数据表我在我的脚本中打开了两个数据表,比如dt1和dt2,它们按顺序打开。dt1有一个带有状态变量的列,其中“1”以外的任何内容表示一种异常值。我想计算dt1中异常值的数量。这就是我所拥有的......
n_out = Col Sum(If( dt1:STATUS == "1", 0, 1));
然而,这似乎不起作用。似乎有关的代码试图引用dt2,因为它最近被打开了。如果我单击dt1将窗口置于前面,然后再次运行代码,则可以正常工作。为什么我对dt1:STATUS的引用不起作用?
谢谢你的帮助。
Re:Col Sum引用了错误的数据表此代码还生成正确的值9:
Names Default to Here( 1 );
dt1 = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt2 = Open( "$SAMPLE_DATA/Fitness.jmp" );
dt1 << New Column( "Outlier", Formula( :height > 65 ) );
n outliers = Col Sum( dt1:Outlier );
在这里,我使用了另一个数据列,其中包含使用表达式测试异常值的公式。这个结果告诉我 Col Sum() 可能不适用于任何表达式,但特别适用于数据列。(提示,提示:COL SUM()。)当使用异常值测试的表达式而不是数据列引用时,我不知道4的值来自何处。
Re:Col Sum引用了错误的数据表为什么不?
Re:Col Sum引用了错误的数据表好... 好.... 以下计数为9。
名称默认为此处(1);
dt1 = Open(“$ SAMPLE_DATA / Big Class.jmp”);
dt2 =打开(“$ SAMPLE_DATA / Fitness.jmp”);
n超过60 =总和((dt1:高度<<得到矩阵)> 65);
这是否意味着转换为矩阵是一种解决方案?
Re:Col Sum引用了错误的数据表同样的问题...... 我的代码是:
名称默认为此处(1);
dt1 = Open(“$ SAMPLE_DATA / Big Class.jmp”);
dt2 =打开(“$ SAMPLE_DATA / Fitness.jmp”);
num_tall = Col Sum(dt1:height> 65);
显示(num_tall);
在您的系统上生成num_tall = 9?
我正在使用JMP 13,如果这与它有关。
Re:Col Sum引用了错误的数据表我今天的愚蠢问题:如果您退出JMP并重新启动它会发生什么?
Re:Col Sum引用了错误的数据表很好的主意... 所以我运行了以下代码:
名称默认为此处(1);
dt1 = Open(“$ SAMPLE_DATA / Big Class.jmp”);
dt2 =打开(“$ SAMPLE_DATA / Fitness.jmp”);
num_tall = Col Sum(dt1:height> 65);
显示(num_tall);
这是输出:
名称默认为此处(1);
dt1 = Open(“$ SAMPLE_DATA / Big Class.jmp”);
dt2 =打开(“$ SAMPLE_DATA / Fitness.jmp”);
num_tall = Col Sum(dt1:height> 65);
显示(num_tall);
/ *:
num_tall = 4;
然后,当我点击表Big Class(将它带到最前面)时,我得到:
num_tall = Col Sum(dt1:height> 65);
显示(num_tall);
/ *:
num_tall = 9;
哪个是正确的答案。
我的设置有问题,或者这只是JSL的设计方式?
Re:Col Sum引用了错误的数据表您也可以尝试使用此代码:
Names Default to Here( 1 );
dt1 = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt2 = Open( "$SAMPLE_DATA/Fitness.jmp" );
n ht over 60 = Sum( (Column( dt1, 4 ) << Get As Matrix) > 60 );
Re:Col Sum引用了错误的数据表你为什么不退出原来的问题并尝试更简单的事情。例如,在每个数据表中使用不同的值时,请尝试仅引用一个位置以查看返回的值。例如,
Names Default to Here( 1 );
dt1 = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt2 = Open( "$SAMPLE_DATA/Fitness.jmp" );
value = Column( dt1, 4 )[2]; // second row of :height in Big Class?
Show( value );
它似乎工作。
Re:Col Sum引用了错误的数据表谢谢你的回复。
我得到同样的问题。
我知道特定例子的答案是n_out = 3。在我的屏幕上,我看到dt1在背景中,因为它是先打开,然后是dt2。当我运行这行代码时,我得到n_out = 0。但是,如果我点击表格dt1(将它带到我的屏幕的最前面),然后再次运行代码,我得到n_out = 3。
这就是为什么我认为问题在于引用错误的表。
Re:Col Sum引用了错误的数据表我也尝试过以下方法:
n_out = Col Sum(NOT(dt1:STATUS ==“1”))
它仍然无法正常工作。
我知道特定例子的答案是3。在我的屏幕上,我看到dt1在背景中,因为它是先打开,然后是dt2。当我运行这行代码时,我得到n_out = 0。但是,如果我点击表格dt1(将它带到我的屏幕的最前面),然后再次运行代码,我得到n_out = 3。
这就是为什么我认为问题在于引用错误的表。
Re:Col Sum引用了错误的数据表试试这个表格,看看它是否有效
n_out = Col Sum( dt1:STATUS != "1");
Re:Col Sum引用了错误的数据表根据您的描述,听起来应该绝对不会发生。 我没有在您的代码中看到任何问题。 可能是致电JMP技术支持的好时机。