Erstellen Sie eine Werteliste entsprechend der SpaltenlisteIch erstelle eine Liste potenzieller Spaltennamen, die in einer der vielen Datentabellen vorkommen können, mit denen gearbeitet wird, erstelle eine tatsächliche Liste der in der geöffneten Datentabelle gefundenen Spalten und versuche dann, eine Liste der entsprechenden Werte zu erstellen die eigentliche Spaltenliste.Wenn ich jedoch den folgenden Code ausführe, greift er für alle aufgelisteten Spalten, die ich durchlaufe, auf den Wert aus der ersten Spalte in der Liste zurück.Dieser Code führt zu einer Liste = {13.975, 13.975} anstelle von {13.975, 105}.Ich habe dafür verschiedene Iterationen ausprobiert, kann aber nicht die richtigen Werte erhalten.Für Vorschläge wäre ich sehr dankbar.
Clear Log();
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
dt_col_name_list = dt << Get Column Names( String );
dtsum = dt << Summary(
Mean( Eval( dt_col_name_list ) ),
Freq( "None" ),
Weight( "None" ),
statistics column name format( "column" )
);
// Potential column name list
pot_col_list = {"age", "mass", "height", "length" };
dtsum_col_name_list = dtsum << Get Column Names( String );
show(dtsum_col_name_list);
// Create empty list to hold names of the those measurement variables found in data table
act_col_list = {};
col_list_cnt = {};
// Run through data table column names and put those that match measurement variable list into new list
For( i = 1, i <= N Items( pot_col_list ), i++,
If( Contains( dtsum_col_name_list, pot_col_list[i] ),
Insert Into( act_col_list, pot_col_list[i] );
Insert Into( col_list_cnt, dtsum:pot_col_list[1,i] );
)
);
Show( col_list_cnt );Betreff: Werteliste entsprechend der Spaltenliste erstellenDas hat es geschafft, Txnelson,
Vielen Dank für Ihren Blick und Ihre Hilfe bei der Korrektur meines Syntaxfehlers.
Betreff: Werteliste entsprechend der Spaltenliste erstellenDie zum Abrufen des Werts aus pot_col_list verwendete Referenz ist ungültig. Eine Korrektur, die offenbar funktioniert, finden Sie weiter unten
names default to here(1);
Clear Log();
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
dt_col_name_list = dt << Get Column Names( String );
dtsum = dt << Summary(
Mean( Eval( dt_col_name_list ) ),
Freq( "None" ),
Weight( "None" ),
statistics column name format( "column" )
);
// Potential column name list
pot_col_list = {"age", "mass", "height", "length" };
dtsum_col_name_list = dtsum << Get Column Names( String );
show(dtsum_col_name_list);
// Create empty list to hold names of the those measurement variables found in data table
act_col_list = {};
col_list_cnt = {};
// Run through data table column names and put those that match measurement variable list into new list
For( i = 1, i <= N Items( pot_col_list ), i++,
If( Contains( dtsum_col_name_list, pot_col_list[i] ),
Insert Into( act_col_list, pot_col_list[i] );
Insert Into( col_list_cnt, column(dtsum,pot_col_list[i])[1] );
)
);
Show( col_list_cnt );