Команда stats не возвращает ожидаемое значение при использовании диапазонов - PullRequest
0 голосов
/ 25 марта 2020

У меня странное поведение с командой stats при использовании диапазонов. Рассмотрим следующий простой пример.

$Data<<EOD
 1    10
 2    20
 3    30
 4    40
 5    50
 6    60
 7    70
 8    80
 9    90
10   100
EOD

stats [1:5] $Data u 1   nooutput 
print STATS_records # Result: 10; Expected: 5

stats [1:5] $Data u 1:2 nooutput
print STATS_records # It works fine

Почему первая команда stats не возвращает ожидаемое значение? Это влияет на все stats результаты. Это ошибка? Я что-то пропустил? Я использую version 5.2 patchlevel 8.

1 Ответ

1 голос
/ 25 марта 2020

Моя попытка объяснить это поведение:

Если вы сделаете

stats [1:5] $Data u 1:2 nooutput

Столбец 1 соответствует x, а столбец 2 соответствует y. С [1:5] вы ограничиваете x от 1 до 5, следовательно, 5 записей.

Если вы делаете

stats [1:5] $Data u 1 nooutput

Столбец 1 равен «вид» y и псевдостолбец 0 - это "вид" x, однако вы ограничиваете x, но не псевдостолбец 0, следовательно, 10 записей.

Итак, если вы сделаете

stats [1:5] $Data u 1:1 nooutput

вы получите ожидаемые результаты и ожидаемую статистику в столбце 1.

Чтобы просмотреть все значения STATS, введите show var STATS.

Но я ' Я просто догадываюсь ... Я уверен, что @Ethan может сказать.

...