Zusammenfassung der unbekannten Spaltenanzahl<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo,
Ich möchte eine Zusammenfassung aller Spalten in einer generischen Datentabelle erstellen, wobei die Anzahl der Spalten unbekannt ist.
Unten ist ein Beispiel für eine bekannte Datentabelle. Irgendwelche Vorschläge für eine unbekannte Anzahl von Spalten?
Vielen Dank,
rauben
dt = Open ("$ SAMPLE_DATA / Big Class.JMP");
dtsum1 = dt << Zusammenfassung (N (: Name), N (: Alter), N (: Geschlecht), N (: Höhe), N (: Gewicht));
Re: Zusammenfassung der unbekannten SpaltenanzahlSehr elegant. Vielen Dank!
Re: Zusammenfassung der unbekannten SpaltenanzahlZusammenfassung akzeptiert eine Liste von Spalten als Argument. Also dieser Oneliner funktioniert auch!
dt = Öffnen ( "$ SAMPLE_DATA / Big Class.JMP" ) ;
dt << Zusammenfassung ( N ( dt << Spaltennamen erhalten )) ;
Re: Zusammenfassung der unbekannten SpaltenanzahlBeide Lösungen funktionieren gut. Vielen Dank!
Re: Zusammenfassung der unbekannten SpaltenanzahlIch schlage vor, einen Ausdruck zu erstellen und dann in jede Spalte Verweise einzufügen:
dt = Open ("$ SAMPLE_DATA / Big Class.JMP");
summaryexpr = Ausdruck (Zusammenfassung ());
für (i = 1, i <= ncol (dt), i ++,
insertinto (summaryexpr, insert (expr (N ()), Spalte (i)))
);
eval (Stellvertreter (Ausdruck (Befehl dt <<), Ausdruck (Befehl), summaryexpr));
Wenn Sie nicht zwischen Datentabellen wechseln, können Sie die letzte Zeile vereinfachen, indem Sie einfach "summaryexpr" ausführen und nicht als Befehl zu "dt" hinzufügen.
Re: Zusammenfassung der unbekannten SpaltenanzahlEs gibt wahrscheinlich einen schlankeren Weg, aber in solchen Situationen erstelle ich dynamischen Code und führe ihn dann aus:
dt = Öffnen ( "$ SAMPLE_DATA / Big Class.JMP" ) ;
dt_cols = dt << Spaltennamen erhalten ( Schnur ) ;
zum ( ich = 1 . ich <= Nitems ( dt_cols ) . ich ++
ob ( ich == 1 .
n_expr = "dtsum1 = dt << Summary (N (: name (\!" ") ||
dt_cols [ ich ] || "\!")) " ;
.
n_expr = n_expr || ", N (: Name (\!" ") || dt_cols [ ich ] || "\!")) " ;
) ;
) ;
n_expr = n_expr || ") ;
eval ( analysieren ( n_expr )) ;