Ich habe versucht, grundlegende Statistiken (Mean, StDev, Range) für einen Datensatz von 2 Millionen zu erstellen. Der Haken ist, dass ich zwei Spalten mitteln muss, nicht nur eine. Ist das möglich? Die Anzahl der Datensätze für jede Gruppe variiert. In der Tabelle werden Val1 und Val2 getrennt gemittelt, ich brauche sie zusammen gemittelt. Die angehängte Datentabelle sollte basierend auf jeder ID einen Durchschnitt von Val1 und Val2 ergeben.
Die Ergebnisse sollten sein:
ICH WÜRDE EIN | Durchschn 2.000 | StDev
0,8944 | Angebot
2 |
| B | 3.500 | 1,0488
| 3
|
| C | 2,625 | 1,4079
| 4
|
| D | 2.700 | 1,9465
| 5
|
Gibt es einen JSL-Code, mit dem ich die gewünschten Ergebnisse erzielen kann?
Sie müssen die Spalten stapeln. Hier ist ein einfaches Skript zur Veranschaulichung
Names default to here(1);
dt=New Table( "JMP QUESTION",
Add Rows( 15 ),
New Column( "ID",
Character( 1 ),
"Nominal",
Set Values(
{"A", "A", "A", "B", "B", "B", "C", "C", "C", "C", "D", "D", "D", "D",
"D"}
),
Set Display Width( 57 )
),
New Column( "Val1",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [1, 2, 3, 4, 5, 3, 2, 1, 3, 4, 5, 3, 6, 2, 1] ),
Set Display Width( 57 )
),
New Column( "Val2",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [1, 3, 2, 4, 3, 2, 1, 2, 5, 3, 1, 2, 5, 1, 1] ),
Set Display Width( 57 )
)
);
// Stack the data
dtStack = dt << Stack(invisible,
columns( :Val1, :Val2 ),
Source Label Column( "Label" ),
Stacked Data Column( "Val 1,2" ),
Name( "Non-stacked columns" )(Keep( :ID ))
);
// Generate the Statistics
dtStack << Tabulate(
Show Control Panel( 0 ),
Add Table(
Column Table( Statistics( Mean ), Analysis Columns( :Name( "Val 1,2" ) ) ),
Column Table(
Statistics( Std Dev ),
Analysis Columns( :Name( "Val 1,2" ) )
),
Column Table( Statistics( Range ), Analysis Columns( :Name( "Val 1,2" ) ) ),
Row Table( Grouping Columns( :ID ) )
)
); @txnelson Das bringt mir was ich brauche. Leider verfügt mein Laptop nicht über die Ressourcen, um die gesamten 2 Millionen Zeilen zu verarbeiten, aber ich kann das reduzieren und dahin gelangen, wo ich hin muss.
Tausend Dank!
Es gibt eine Reihe von Möglichkeiten, mit denen Sie möglicherweise alle 2.000.000 Zeilen bearbeiten können.
1. Stellen Sie sicher, dass Sie beim Stapeln der Daten nur die erforderlichen Spalten stapeln. In der Abbildung, die ich bereitgestellt habe, wird nur die ID-Spalte mit den Stapelspalten mitgeführt.
2. Sie können "Invisible" im Stapelcode in "Private" ändern. Dadurch wird eine Datentabelle erstellt, der Fenstercode wird jedoch nicht erstellt, sodass Sie ihn nicht sehen können.
3. Sie können die Spalte komprimieren (Spalteneigenschaftslistenprüfung), wodurch die Daten auf weniger Platz gespeichert werden