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技術支持的好時機。