Wenn ich eine Spalte mit dem Namen
dt = current data table();
temp1 = dt:X << get values;
temp2 = quantile(0.1,temp1);
dt << get rows where(:X<TEMP2></TEMP2>
Nehmen wir an, ich ersetze die 10 größten Werte (z. B. 91–100) durch fehlende Werte. Gibt es eine Möglichkeit, die gleichen 10 kleinsten Werte zu erhalten? Ich glaube, dass die Quantilfunktion die fehlenden Werte nicht berücksichtigt.
Schätzen Sie die Hilfe
Überzeugen Sie sich selbst.
Names Default to Here( 1 );
dt = New Table( "Untitled 2",
Add Rows( 10 ),
New Column( "Full",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] )
),
New Column( "Partial",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [1, 2, 3, 4, 5, 6, 7, ., ., .] )
)
);
values = :full << Get As Matrix;
Show( Quantile( 0.1, values ) );
values = :Partial << Get As Matrix;
Show( Quantile( 0.1, values ) );
Das Vorhandensein fehlender Werte ändert das Stichprobenquantil und somit auch die ausgewählten Zeilen.
Möchten Sie die Zeilen oder Werte abrufen? Hier ist ein Beispiel, wie Sie in der Lage sein sollten, die 10 kleinsten nicht fehlenden Werte zu erhalten
temp1 = Sort Ascending(dt:X << get values); //get values in column Value
temp1 = temp1[Loc(temp1)]; //ignore missing
tensmallest = temp1[1::10]; //get 10 first values in list