статистика::

Статистика дублирующихся строк в выборке

Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.

Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.

Синтаксис

stats::tabulate(s)
stats::tabulate(s, c1, c2, …, <f>)
stats::tabulate(s, c1 .. c2, c3 .. c4, …, <f>)
stats::tabulate(s, [c1, f1], [c2, f2], …)
stats::tabulate(s, [c1, c2, …, f1], [c3, c4, …, f2], …)

Описание

stats::tabulate(s) устраняет дублирующиеся строки в демонстрационном s и добавляет столбец, содержащий кратность.

stats::tabulate( s, c1, c2, …, f ) комбинирует все строки, которые идентичны за исключением записей в заданных столбцах c 1, c 2 и т.д. Функциональный f применяется к этим столбцам, его результат заменяет значения в этих столбцах.

stats::tabulate( s, [c1, f1], [c2, f2], … ) комбинирует все строки, которые идентичны за исключением записей в столбцах c 1, c 2 и т.д. Функции f 1, f 2 и т.д. применяется к этим столбцам, результаты, заменяют значения в этих столбцах.

stats::tabulate рассматривает строки как копии, если у них есть идентичные записи в столбцах, которые не заданы.

С stats::tabulate( s, c1, c2, …, f ) функциональный f применяется к записям дублирующихся строк в заданных столбцах. Копии устраняются и заменяются одним экземпляром строки, результат f вставляется в соответствующие столбцы.

Функциональный f должен принять столько же параметров, сколько существуют копии. Типовые приложения включают функции, такие как stats::mean, которые принимают произвольно много аргументов.

Например, с stats::mean дублирующиеся строки заменяются одной строкой, в которой записи столбцов c 1, c 2 и т.д. заменяется средними значениями соответствующих записей копий.

Если никакой функциональный f не задан, то функциональный _plus по умолчанию используется.

Если индексы столбца заданы несколько раз, дополнительные столбцы с результатом заданной функции вставляются в выборку.

Последовательные столбцы могут быть заданы областями значений. Например, вызов stats::tabulate(s, c[1]..c[2], dots, f) является обозначением стенографии для stats::tabulate(s, c1, c1 + 1, …, c2, …, f).

С парами stats::tabulate(s, [c1, f1], [c2, f2], …) столбцов и соответствующих процедур заданы. Снова, строки рассматриваются как копии, если у них есть идентичные записи в столбцах, которые не заданы. Копии устраняются и заменяются одним экземпляром строки, результат f 1 вставляется в столбец c 1, результат f 2 вставляется в столбец c 2 и т.д.

Если индексы столбца заданы несколько раз, то дополнительные столбцы с результатом заданных функций вставляются в выборку.

С stats::tabulate(s, [c1, c2, …, f1], …) возможно применить функции, которые действуют на несколько столбцов. Процедура f 1 должна принять последовательность списков (каждое представление столбца). Заданные столбцы заменяются отдельным столбцом, содержащим результат f 1. Если индексы столбца заданы несколько раз, то дополнительные столбцы с результатом заданной функции (функций) вставляются в выборку. Смотрите Пример 2 и Пример 3.

Примеры

Пример 1

Мы создаем выборку:

s := stats::sample([[a, A, 1], [a, A, 1], [a, A, 2],
                    [b, B, 5], [b, B, 10]])
a  A   1
a  A   1
a  A   2
b  B   5
b  B  10

Дублирующиеся строки выборки считаются. Существует четыре уникальных строки, одно появление дважды:

stats::tabulate(s)
a  A   1  2
a  A   2  1
b  B   5  1
b  B  10  1

В следующем вызове строки рассматриваются как копии, если записи в первых двух столбцах совпадают. Мы вычисляем среднее значение третьей записи копий:

stats::tabulate(s, 3, stats::mean)
a  A   4/3
b  B  15/2

Мы вычисляем и среднее значение и стандартное отклонение данных в третьем столбце для подвыборок, маркировал 'a A' и 'b B' первыми двумя столбцами:

stats::tabulate(s, [3, stats::mean], [3, stats::stdev])
a  A   4/3      3^(1/2)/3
b  B  15/2  (5*2^(1/2))/2
delete s:

Пример 2

Мы создаем демонстрационное, содержащее столбцы для “пола”, “возраста” и “размера”:

s := stats::sample([["f", 25, 166], ["m", 30, 180], 
                    ["f", 54, 160], ["m", 40, 170],
                    ["f", 34, 170], ["m", 20, 172]])
"f"  25  166
"m"  30  180
"f"  54  160
"m"  40  170
"f"  34  170
"m"  20  172

Мы используем stats::mean на втором и третьем столбце, чтобы вычислить средний “возраст” и “размер” каждого пола:

stats::tabulate(s, 2..3, float@stats::mean)
"f"  37.66666667  165.3333333
"m"         30.0        174.0

Со следующим вызовом и среднее значение и стандартное отклонение “возраста” и “размера” для каждого пола вставляются в выборку.

stats::tabulate(s, 
  [2, float@stats::mean], [2, float@stats::stdev],
  [3, float@stats::mean], [3, float@stats::stdev])
"f"  37.66666667  14.84362939  165.3333333  5.033222957
"m"         30.0         10.0        174.0  5.291502622

Мы вычисляем Bravais-коэффициент-корреляции-пирсона между “возрастом” и “размером” для каждого пола:

stats::tabulate(s, [2, 3, float@stats::correlation])
"f"  -0.7540135991
"m"  -0.1889822365
delete s:

Пример 3

Мы создаем выборку:

s := stats::sample([[a, x1, 1, 2], [b, x2, 2, 4], 
                    [b, x1, 2, 4], [e, x2, 3, 5.5]])
a  x1  1    2
b  x2  2    4
b  x1  2    4
e  x2  3  5.5

Мы расцениваем строки с той же записью во втором столбце как “того же вида”. Мы сводим в таблицу демонстрационные использующие различные функции на остальных столбцах:

stats::tabulate(s, [1, _plus], [3, _mult], [4, stats::mean])
a + b  x1  2     3
b + e  x2  6  4.75

Можно применить настроенные процедуры. В следующем мы задаем процедуру plusmult, который подводит итог элементов двух списков (представляющий столбцы) и затем умножает суммы.

plusmult := proc(x, y) begin _plus(op(x))*_plus(op(y)) end_proc:

Эта процедура затем используется, чтобы объединить первое и третий столбец. Одновременно, среднее значение и стандартное отклонение четвертого столбца вставляются в выборку.

stats::tabulate(s, [1, 3, plusmult], [4, stats::mean],
                [4, stats::stdev])
3*a + 3*b  x1     3      2^(1/2)
5*b + 5*e  x2  4.75  1.060660172
delete plusmult, s:

Параметры

s

Выборка доменного типа stats::sample

c1, c2, …

Целые числа, представляющие индексы столбца демонстрационного s

f, f1, f2, …

Процедуры

Возвращаемые значения

Выборка доменного типа stats::sample.

Смотрите также

Функции MuPAD

Для просмотра документации необходимо авторизоваться на сайте