Ich möchte Werte in zwei numerischen Spalten in einer Datentabelle überprüfen. Jetzt habe ich die Namen dieser beiden numerischen Spalten in einer Liste. Ich verwende eine For-Schleife, um durch die Liste dieser ausgewählten numerischen Spaltennamen zu iterieren, dann möchte ich anhand eines Schwellenwerts (sagen wir 100) prüfen. Dann möchte ich eine neue Spalte erstellen und entsprechend Beschriftungen hinzufügen – entweder Beschriftung „A“ oder „B“ – abhängig von den angegebenen Spalten in der Datentabelle.
Nehmen wir an, dies sind die beiden numerischen Spalten:
numeric_col_1 = {100, 200, 250, 700}
numeric_col_2 = {200, 250, 500, 100}
Und der Schwellenwert liegt bei 100.
Der Pseudocode für die beschrifteten Spalten, den ich implementieren möchte, ist wie folgt:
labeled_col = (wenn numeric_col > 100, "A", "B");
Die beschrifteten Spalten zeigen nun Folgendes:
beschriftete_Spalte_1 = {"B", "A", "A", "A"};
beschriftete_Spalte_2 = {"A", "A", "A", "B"};
Hier ist ein Beispielcode:
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" ) )
)
);Der obige Code zeigt jedoch nur leere Spalten an, obwohl diese mit ihren jeweiligen Spaltennamen in der Datentabelle erstellt wurden.