我想檢查數據表中兩個數字列中的值。現在我在清單中列出了這兩個數字列的名稱。我使用 for 迴圈來迭代這些選定的數字列名稱的列表,然後我想檢查閾值(例如 100)。然後我想建立一個新列並相應地放置標籤 - 標籤“A”或“B” - 取決於資料表中給定的列。
假設這是兩個數字欄位:
numeric_col_1 = {100, 200, 250, 700}
numeric_col_2 = {200, 250, 500, 100}
閾值是100。
現在我要實現的標記列偽代碼如下:
labelled_col = (如果 numeric_col > 100, "A", "B");
因此,標記的列現在將顯示:
labelled_col_1 = {“B”,“A”,“A”,“A”};
Labeled_col_2 = {“A”,“A”,“A”,“B”};
這是一些範例程式碼:
concat_dt = datatable("concatenated");<BR />new_val_list = {"num_col1", "num_col2"};<BR />name_list = {"col1", "col2"};<BR />stop = nitems(new_val_list);
for (i = 1, i <=stop, i++,
col_name = name_list[i] || "_Label_A_B";
show(col_name);
concat_dt << New Column( col_name,
Character,
"Nominal",
Formula( If( Column(concat_dt, new_val_list[i]) > 200, "A", "B" ) )
)
);但上面的程式碼只顯示空列,即使它們是在資料表中使用各自的列名建立的。