exponenta event banner

перекрестная таблица

Перекрестная табуляция

Описание

пример

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

пример

tbl = crosstab(x1,...,xn) возвращает многомерную перекрестную таблицу, tbl, данных для нескольких входных векторов, x1, x2, ..., 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 array
    {'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 пациентах больницы, включая фамилию, пол, возраст, вес, статус курения, а также систолические и диастолические измерения артериального давления.

Преобразование массива наборов данных в таблицу MATLAB ®.

Tbl = dataset2table(hospital);

Определите, не зависит ли статус курения от пола, создав таблицу непредвиденных обстоятельств 2 на 2 курильщиков и некурящих, сгруппированную по полу.

[conttbl,chi2,p,labels] = crosstab(Tbl.Sex,Tbl.Smoker)
conttbl = 2×2

    40    13
    26    21

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

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

Визуализация таблицы непредвиденных обстоятельств в тепловой карте. Постройте график состояния курения на оси X и пола на оси Y.

heatmap(Tbl,'Smoker','Sex')

Figure contains an object of type heatmap. The chart of type heatmap has title Count of Sex vs. Smoker.

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

свернуть все

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

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

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

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

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

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

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

свернуть все

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

Если заданы два входных вектора, x1 и x2, то tbl - матрица m-на-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и так далее.

  • crosstab вычисляет значение p статистики теста хи-квадрат, используя формулу, которая асимптотически действительна для большого размера выборки. Аппроксимация менее точна для небольших образцов или образцов с неравномерными предельными распределениями. Если образец включает только две переменные и каждая имеет два уровня, можно использовать fishertest вместо этого. Эта функция выполняет точный тест Фишера, который не зависит от допущений распределения большой выборки.

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

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