Next: Функции и переменные для описательной статистики, Previous: Введение в пакет descriptive, Up: Пакет descriptive [Contents][Index]
Аргумент continuous_freq должен быть списком чисел,
которые группируются в интервалы и вычисляется число чисел в каждом из
интервалов. Необязательный второй аргумент continuous_freq
задает число интервалов, по умолчанию 10,
(%i1) load ("numericalio")$
(%i2) load ("descriptive")$
(%i3) s1 : read_list (file_search ("pidigits.data"))$
(%i4) continuous_freq (s1, 5);
(%o4) [[0, 1.8, 3.6, 5.4, 7.2, 9.0], [16, 24, 18, 17, 25]]
Первый список содержит границы интервалов, а второй содержит число чисел в
соответствующем интервале: 16 цифр в интервале [0, 1.8],
что есть 0 или 1, 24 цифры в интервале (1.8, 3.6], что есть 2 и 3, и т.д.
Вычисляет абсолютные частоты для дискретной выборки, как числовой так и категоризированной. Ее единственный аргумент является списком
(%i1) load ("descriptive")$
(%i2) load ("numericalio")$
(%i3) s1 : read_list (file_search ("pidigits.data"));
(%o3) [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9, 3, 2, 3, 8,
4, 6, 2, 6, 4, 3, 3, 8, 3, 2, 7, 9, 5, 0, 2, 8, 8, 4, 1, 9, 7,
1, 6, 9, 3, 9, 9, 3, 7, 5, 1, 0, 5, 8, 2, 0, 9, 7, 4, 9, 4, 4,
5, 9, 2, 3, 0, 7, 8, 1, 6, 4, 0, 6, 2, 8, 6, 2, 0, 8, 9, 9, 8,
6, 2, 8, 0, 3, 4, 8, 2, 5, 3, 4, 2, 1, 1, 7, 0, 6, 7]
(%i4) discrete_freq (s1);
(%o4) [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
[8, 8, 12, 12, 10, 8, 9, 8, 12, 13]]
Первый список значения в выборке, а второй их абсолютные частоты.
Команды ? col и ? transpose должны помочь понять последний ввод.
Является некоторым вариантом Maxima функции submatrix.
Первый аргумент – имя матрицы данных, второй – экранированное логическое выражение, необязательные
последующие аргументы – номера колонок, которые необходимо выбрать.
Работу функции лучше всего проиллюстрировать на примерах
(%i1) load ("descriptive")$
(%i2) load ("numericalio")$
(%i3) s2 : read_matrix (file_search ("wind.data"))$
(%i4) subsample (s2, '(%c[1] > 18));
[ 19.38 15.37 15.12 23.09 25.25 ]
[ ]
[ 18.29 18.66 19.08 26.08 27.63 ]
(%o4) [ ]
[ 20.25 21.46 19.95 27.71 23.38 ]
[ ]
[ 18.79 18.96 14.46 26.38 21.84 ]
Это многомерная выборка в которой скорость ветра в первой метеорологической станции
превышает 18. В экранированном логическом выражении i-й компонент
данных обозначается %c[i].
Символ %c[i] используется внутри subsample,
что вызывает проблемы если этот символ используется для обозначения категории в
категоризированных данных.
В следующем примере мы затребуем только первую, вторую и пятую компоненту записей,
для которых скорость ветра больше или равна 16 на станции номер 1 и
менее 25 узлов на станции номер 4
(%i1) load ("descriptive")$
(%i2) load ("numericalio")$
(%i3) s2 : read_matrix (file_search ("wind.data"))$
(%i4) subsample (s2, '(%c[1] >= 16 and %c[4] < 25), 1, 2, 5);
[ 19.38 15.37 25.25 ]
[ ]
[ 17.33 14.67 19.58 ]
(%o4) [ ]
[ 16.92 13.21 21.21 ]
[ ]
[ 17.25 18.46 23.87 ]
Далле приведен пример с категоризированными переменными из biomed.data.
Мы выбираем записи, которые соответствуют пациентам в группе B старше 38 лет
(%i1) load ("descriptive")$
(%i2) load ("numericalio")$
(%i3) s3 : read_matrix (file_search ("biomed.data"))$
(%i4) subsample (s3, '(%c[1] = B and %c[2] > 38));
[ B 39 28.0 102.3 17.1 146 ]
[ ]
[ B 39 21.0 92.4 10.3 197 ]
[ ]
[ B 39 23.0 111.5 10.0 133 ]
[ ]
[ B 39 26.0 92.6 12.3 196 ]
(%o4) [ ]
[ B 39 25.0 98.7 10.0 174 ]
[ ]
[ B 39 21.0 93.2 5.9 181 ]
[ ]
[ B 39 18.0 95.0 11.3 66 ]
[ ]
[ B 39 39.0 88.5 7.6 168 ]
Вероятно статистический анализ будет включать только измерения крови
(%i1) load ("descriptive")$
(%i2) load ("numericalio")$
(%i3) s3 : read_matrix (file_search ("biomed.data"))$
(%i4) subsample (s3, '(%c[1] = B and %c[2] > 38), 3, 4, 5, 6);
[ 28.0 102.3 17.1 146 ]
[ ]
[ 21.0 92.4 10.3 197 ]
[ ]
[ 23.0 111.5 10.0 133 ]
[ ]
[ 26.0 92.6 12.3 196 ]
(%o4) [ ]
[ 25.0 98.7 10.0 174 ]
[ ]
[ 21.0 93.2 5.9 181 ]
[ ]
[ 18.0 95.0 11.3 66 ]
[ ]
[ 39.0 88.5 7.6 168 ]
Это многомерное среднее значение s3
(%i1) load ("descriptive")$
(%i2) load ("numericalio")$
(%i3) s3 : read_matrix (file_search ("biomed.data"))$
(%i4) mean (s3);
65 B + 35 A 317 6 NA + 8145.0
(%o4) [-----------, ---, 87.178, -------------, 18.123,
100 10 100
3 NA + 19587
------------]
100
Здесь, первая компонента бессмыслена, т.к. A и B
представляют категории, вторая компонента – средний возраст пациентов в форме рационального числа,
а четвертая и последняя компоненты демонстрируют странное поведение.
Это потому, что символ NA используется для случая, когда данные недоступны (non available),
а следовательно эти два средних значения бессмысленны. Возможным решением является исключение
из матрицы строк с символами NA, хотя это и приводит к некоторой потере
данных
(%i1) load ("descriptive")$
(%i2) load ("numericalio")$
(%i3) s3 : read_matrix (file_search ("biomed.data"))$
(%i4) mean(subsample(s3, '(%c[4] # NA and %c[6] # NA), 3,4,5,6));
(%o4) [79.4923076923077, 86.2032967032967, 16.93186813186813,
2514
----]
13
Next: Функции и переменные для описательной статистики, Previous: Введение в пакет descriptive, Up: Пакет descriptive [Contents][Index]