如果我的表中有 4 列,並且我需要找出每行有多少列低於 98%,我如何編寫一個簡單的公式來執行此操作。
有一些類似的帖子,但它們比我需要的要複雜得多。
謝謝
你好@菲奧納斯頓,
如前所述,這是我使用 Counts 腳本製作的資料表模型。 它只會計算數字/連續列,並忽略表中的任何其他資料/建模類型列。
希望這可以幫助!,
DS
你好@菲奧納斯頓,
擴充和概括什麼@喬治發布後,您可以將此腳本儲存到任何資料表中,它將產生一個包含計數的新欄位。 我想添加此內容是因為您提到資料表可能有數百列,而這可以處理該資料表以及您擁有的行數。
Names Default To Here( 1 );
dt = Current Data Table();
dt << New Column( "Counts", Numeric, Continuous );
test = Function( {val},
If( val < 0.98, 1, 0 )
);
For( r = 1, r <= N Rows(), r++,
count = 0;
ret = 0;
For( col = 1, col <= N Col() - 1, col++,
If( Is Missing( Column( col )[r] ) == 1,
count = 0,
count = test( Column( col )[r] )
);
ret += count;
:Counts[r] = ret;
);
);您只需單擊資料表名稱旁邊的熱按鈕並選擇“新腳本”,然後將上面的腳本複製/貼上到新腳本中(當然也要給它一個名稱),然後單擊綠色箭頭來運行它。 然後,您可以將該腳本複製/貼上到任何資料表中 - 當然,您可以為您使用的任何資料集更改「測試」函數中的比較值。
希望這可以幫助!,
DS
更新:我注意到我原來的帖子沒有考慮列中的缺失值,並對其進行了更正以考慮缺失值。
也許這個公式可以做到:
test = Function( {val},
If( val < 0.98, 1, 0 )
);
Sum( test( :A ), test( :B ), test( :C ), test( :D</img> ) );