crosstab

Перекрестное табулирование

Описание

пример

tbl = crosstab(x1,x2) возвращает перекрестное табулирование, tbl, из двух векторов той же длины, x1 и x2.

пример

tbl = crosstab(x1,...,xn) возвращает многомерное перекрестное табулирование, tbl, из данных для нескольких входных векторов, x1x2 ..., xn.

пример

[tbl,chi2,p] = crosstab(___) также возвращает статистическую величину хи-квадрата, chi2, и его p - значение, p, для теста, что tbl независимо в каждой размерности. Можно использовать любой из предыдущих синтаксисов.

пример

[tbl,chi2,p,labels] = crosstab(___) также возвращает массив ячеек, labels, который содержит один столбец меток для каждого входного параметра, x1 ... xn.

Примеры

свернуть все

Создайте два вектора выборочных данных, содержа три и четыре отличных значения, соответственно.

x = [1 1 2 3 1];
y = [1 2 5 3 1];

Перекрестный плоский x и y.

table = crosstab(x,y)
table = 3×4

     2     1     0     0
     0     0     0     1
     0     0     1     0

Строки в table соответствуйте трем отличным значениям в x, и столбцы соответствуют четырем отличным значениям в y.

Сгенерируйте два независимых вектора, x1 и x2, каждый содержащий 50 дискретных универсальных случайных чисел в области значений 1:3.

rng default;  % for reproducibility
x1 = unidrnd(3,50,1);
x2 = unidrnd(3,50,1);

Перекрестный плоский x1 и x2.

[table,chi2,p] = crosstab(x1,x2)
table = 3×3

     1     6     7
     5     5     2
    11     7     6

chi2 = 7.5449
p = 0.1097

Возвращенный p значение 0.1097 указывает что, на 5%-м уровне значения, crosstab сбои, чтобы отклонить нулевую гипотезу, что table независимо в каждой размерности.

Загрузите выборочные данные, которые содержат измерения автомобилей большой модели в течение лет 1970-1982.

load carbig

Перекрестный сведите в таблицу данные автомобилей с четырьмя цилиндрами (cyl4) на основе модельного года (when) и страна происхождения (org).

[table,chi2,p,labels] = crosstab(cyl4,when,org);

Используйте labels определить местоположение индекса в table для количества автомобилей с четырьмя цилиндрами, сделанных в США в последний период данных.

labels
labels=3×3 cell
    {'Other'   }    {'Early'}    {'USA'   }
    {'Four'    }    {'Mid'  }    {'Europe'}
    {0x0 double}    {'Late' }    {'Japan' }

Первый столбец labels соответствует данным в cyl4, и указывает на ту строку 2 из table содержит данные по автомобилям с четырьмя цилиндрами. Второй столбец labels соответствует данным в when, и указывает на тот столбец 3 из table содержит данные по автомобилям, сделанным в последний период. Третий столбец labels соответствует данным в org, и указывает на то местоположение 1 из третьей размерности table содержит данные по автомобилям, сделанным в США.

Поэтому table(2,3,1) содержит количество автомобилей с четырьмя цилиндрами, сделанных в США в последний период.

table(2,3,1)
ans = 38

Данные содержат 38 автомобилей с четырьмя цилиндрами, сделанных в США в последний период.

Загрузите данные больницы.

load hospital

hospital массив набора данных содержит данные по 100 пациентам больницы, включая фамилию, пол, возраст, вес, куря состояние и систолические и диастолические измерения кровяного давления.

Чтобы определить, независимо ли курение состояния от пола, используйте crosstab создать таблицу сопряженности 2 на 2 курильщиков и некурящих, сгруппированных полом.

[tbl,chi2,p,labels] = crosstab(hospital.Sex, hospital.Smoker)
tbl = 2×2

    40    13
    26    21

chi2 = 4.5083
p = 0.0337
labels = 2x2 cell array
    {'Female'}    {'0'}
    {'Male'  }    {'1'}

Строки получившейся таблицы сопряженности tbl соответствуйте полу пациента со строкой 1, содержащей данные для розеток и строки 2, содержащей данные для штекеров. Столбцы соответствуют курящему состоянию пациента со столбцом 1, содержащим данные для некурящих и столбца 2, содержащего данные для курильщиков. Возвращенный результат chi2 = 4.5083 значение тестовой статистической величины в квадрате хи для теста Пирсона в квадрате хи независимости. Возвращенное значение p = 0.0337 аппроксимированное p- значение на основе распределения в квадрате хи.

Входные параметры

свернуть все

Входной вектор, заданный как вектор сгруппированных переменных. Все входные векторы, включая x1x2 ..., xn, должна быть та же длина.

Типы данных: single | double | char | string | logical

Входной вектор, заданный как вектор сгруппированных переменных. Все входные векторы, включая x1x2 ..., xn, должна быть та же длина.

Типы данных: single | double | char | string | logical

Входные векторы, заданные как векторы сгруппированных переменных. Если вы используете этот синтаксис, чтобы задать больше чем два входных вектора, то crosstab генерирует многомерную сводную таблицу. Все входные векторы, включая x1x2 ..., xn, должна быть та же длина.

Типы данных: single | double | char | string | logical

Выходные аргументы

свернуть все

Сводная таблица, возвращенная как матрица целочисленных значений.

Если вы задаете два входных вектора, x1 и x2, затем tbl m-by-n матрица, где m является количеством отличных значений в x1 и n является количеством отличных значений в x2.

Если вы задаете три или больше входных вектора, то tbl(i,j,...,n) количество индексов где grp2idx(x1) i, grp2idx(x2) j, grp2idx(x3) k, и так далее.

Статистическая величина хи-квадрата, возвращенная как значение положительной скалярной величины. Нулевая гипотеза то, что пропорция в любой записи tbl продукт пропорций в каждой размерности.

p-значение для тестовой статистической величины хи-квадрата, возвращенной как скалярное значение в области значений [0,1]. crosstab тесты, что tbl независимо в каждой размерности.

Метки данных, возвращенные как массив ячеек. Записи в первом столбце являются метками для строк tbl, записи во втором столбце являются метками для столбцов, и так далее, для многомерного tbl.

Алгоритмы

crosstab использование grp2idx присваивать положительное целое число каждому отличному значению. tbl(i,j) количество индексов где grp2idx(x1) i и grp2idx(x2) j. Числовой порядок grp2idx(x1) и grp2idx(x2) закажите строки и столбцы tbl, соответственно.

В этом случае, возвращенное значение tbl(i,j,...,n) количество индексов где grp2idx(x1) i, grp2idx(x2) j, grp2idx(x3) k, и так далее.

Расширенные возможности

Представлено до R2006a