сводные данные

Распечатайте сводные данные таблицы, расписания или категориального массива

Синтаксис

summary(T)
s = summary(T)
summary(A)
summary(A,dim)

Описание

пример

summary(T) распечатывает сводные данные таблицы или расписания T.

  • Если T является таблицей, то табличные сводные данные отображают описание от T.Properties.Description, сопровождаемого сводными данными табличных переменных.

  • Если T является расписанием, то сводные данные расписания отображают описание от T.Properties.Description, сводные данные времен строки, и затем сводные данные переменных расписания.

пример

s = summary(T) возвращает структуру, s, который содержит сводные данные входной таблицы или расписания. Каждое поле s является самостоятельно структурой, которая обобщает значения в соответствующей переменной T. Если T является расписанием, то s также имеет поле, которое обобщает времена строки T.

пример

summary(A) распечатывает сводные данные категориального массива A.

  • Если A является вектором, то summary(A) отображает названия категории наряду с числом элементов в каждой категории (количества категории). Это также отображает число элементов, которые не определены.

  • Если A является матрицей, то summary обрабатывает столбцы A как векторы и отображает счета категории для каждого столбца A.

  • Если A является многомерным массивом, то summary действует вдоль первого измерения массива, размер которого не равняется 1.

пример

summary(A,dim) распечатывает количества категории категориального массива A по измерению dim.

Например, можно отобразить количества каждой строки в категориальном массиве с помощью summary(A,2).

Примеры

свернуть все

Составление таблицы.

load patients
BloodPressure = [Systolic Diastolic];
T = table(Gender,Age,Smoker,BloodPressure,'RowNames',LastName);

Добавьте описания и модули к таблице T. Можно добавить описание для таблицы в целом, и также для отдельных переменных.

T.Properties.Description = 'Simulated patient data';
T.Properties.VariableUnits =  {''  'Yrs' ''  'mm Hg'};
T.Properties.VariableDescriptions{4} = 'Systolic/Diastolic';

Распечатайте сводные данные таблицы T.

format compact

summary(T)
Description:  Simulated patient data
Variables:
    Gender: 100x1 cell array of character vectors
    Age: 100x1 double
        Properties:
            Units:  Yrs
        Values:
            Min        25  
            Median     39  
            Max        50  
    Smoker: 100x1 logical
        Values:
            True        34   
            False       66   
    BloodPressure: 100x2 double
        Properties:
            Units:  mm Hg
            Description:  Systolic/Diastolic
        Values:
                      BloodPressure_1    BloodPressure_2
                      _______________    _______________
            Min             109                 68      
            Median          122               81.5      
            Max             138                 99      

summary отображает минимум, медиану и максимальные значения для каждого столбца переменного BloodPressure.

Создайте маленькое расписание.

Time = [seconds(1:5)]';
TT = timetable(Time,[98;97.5;97.9;98.1;97.9],[120;111;119;117;116],...
               'VariableNames',{'Reading1','Reading2'})
TT=5×2 timetable
    Time     Reading1    Reading2
    _____    ________    ________

    1 sec        98        120   
    2 sec      97.5        111   
    3 sec      97.9        119   
    4 sec      98.1        117   
    5 sec      97.9        116   

Распечатайте сводные данные расписания. summary распечатывает сводные данные времен строки, сопровождаемых сводными данными переменных. Если расписание обычно, то summary также распечатывает размер временного шага между временами строки.

summary(TT)
RowTimes:

    Time: 5x1 duration
        Values:

            Min          1 sec 
            Median       3 sec 
            Max          5 sec 
            TimeStep     1 sec 

Variables:

    Reading1: 5x1 double

        Values:

            Min          97.5   
            Median       97.9   
            Max          98.1   

    Reading2: 5x1 double

        Values:

            Min          111    
            Median       117    
            Max          120    

Составление таблицы. Добавьте модули к табличным переменным. Затем отобразите первые несколько строк.

load patients
BloodPressure = [Systolic Diastolic];
T = table(Gender,Age,Smoker,BloodPressure,'RowNames',LastName);
T.Properties.VariableUnits =  {''  'Years' ''  'mm Hg'};
head(T,3)
ans=3×4 table
                 Gender     Age    Smoker    BloodPressure
                ________    ___    ______    _____________

    Smith       'Male'      38     true       124     93  
    Johnson     'Male'      43     false      109     77  
    Williams    'Female'    38     false      125     83  

Возвратите сводные данные таблицы. Чтобы возвратить сводные данные как структуру, задайте выходной аргумент при использовании функции summary.

s = summary(T)
s = struct with fields:
           Gender: [1x1 struct]
              Age: [1x1 struct]
           Smoker: [1x1 struct]
    BloodPressure: [1x1 struct]

Отобразите сводные данные табличной переменной Age. Для каждой переменной T выходной аргумент s имеет поле, которое содержит его сводные данные.

s.Age
ans = struct with fields:
           Size: [100 1]
           Type: 'double'
    Description: ''
          Units: 'Years'
     Continuity: []
            Min: 25
         Median: 39
            Max: 50
     NumMissing: 0

Поле NumMissing показывает число элементов, которые являются отсутствующим значением. В этом случае Age не содержит значений NaN, таким образом, NumMissing является нулем. summary включает поле NumMissing для числового, duration, datetime и переменных categorical.

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

s.Age.Min
ans = 25

Отобразите сводные данные табличной переменной Smoker. Можно определить количества курильщиков и некурящих от полей True и False. Информация, содержавшаяся в сводных данных табличной переменной, зависит от типа данных переменной.

s.Smoker
ans = struct with fields:
           Size: [100 1]
           Type: 'logical'
    Description: ''
          Units: ''
     Continuity: []
           True: 34
          False: 66

Создайте расписание.

Time = datetime({'2015-12-18 08:00:00';'2015-12-18 10:00:00';'2015-12-18 12:00:00'});
Temp = [37.3;39.1;42.3];
Pressure = [30.1;30.03;29.9];
TT = timetable(Time,Temp,Pressure)
TT=3×2 timetable
            Time            Temp    Pressure
    ____________________    ____    ________

    18-Dec-2015 08:00:00    37.3      30.1  
    18-Dec-2015 10:00:00    39.1     30.03  
    18-Dec-2015 12:00:00    42.3      29.9  

Возвратите сводные данные расписания как структура.

s = summary(TT)
s = struct with fields:
        Time: [1x1 struct]
        Temp: [1x1 struct]
    Pressure: [1x1 struct]

Отобразите сводные данные времен строки. Поле TimeStep показывает, что временной интервал между временами строки подряд составляет два часа. Поле NumMissing показывает, что нет никаких отсутствующих значений (NaT) в векторе времен строки.

s.Time
ans = struct with fields:
          Size: [3 1]
          Type: 'datetime'
           Min: 18-Dec-2015 08:00:00
        Median: 18-Dec-2015 10:00:00
           Max: 18-Dec-2015 12:00:00
    NumMissing: 0
      TimeStep: 02:00:00

Изменитесь в прошлый раз строки так, чтобы времена строки имели различные интервалы между ними.

TT.Time(3) = '2015-12-18 11:00:00';
TT
TT=3×2 timetable
            Time            Temp    Pressure
    ____________________    ____    ________

    18-Dec-2015 08:00:00    37.3      30.1  
    18-Dec-2015 10:00:00    39.1     30.03  
    18-Dec-2015 11:00:00    42.3      29.9  

Возвратите сводные данные обновленного расписания. Поскольку временные шаги между временами строки отличаются, поле TimeStep имеет NaN.

s = summary(TT);
s.Time
ans = struct with fields:
          Size: [3 1]
          Type: 'datetime'
           Min: 18-Dec-2015 08:00:00
        Median: 18-Dec-2015 10:00:00
           Max: 18-Dec-2015 11:00:00
    NumMissing: 0
      TimeStep: NaN

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

Во-первых, составьте таблицу и добавленные стоимости к некоторым ее предопределенным свойствам.

load patients
BloodPressure = [Systolic Diastolic];
T = table(Gender,Age,Smoker,BloodPressure,'RowNames',LastName);
T.Properties.Description = 'Simulated patient data';
T.Properties.VariableUnits =  {''  'Yrs' ''  'mm Hg'};
T.Properties.VariableDescriptions{4} = 'Systolic/Diastolic';

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

T = addprop(T,{'SourceFile','DataOrigin'},{'table','variable'});

Сохраните значения метаданных в пользовательских свойствах.

T.Properties.CustomProperties.SourceFile = 'patients.mat';
T.Properties.CustomProperties.DataOrigin = {'census','census','self report','blood pressure reading'};

Распечатайте сводные данные таблицы. Кроме T.Properties.Description, функция summary не отображает свойства, которые применяются к таблице в целом. Так, это не отображает значение T.Properties.CustomProperties.SourceFile. Однако summary действительно отображает свойства, которые применяются к табличным переменным. Для каждой переменной summary отображает соответствующее значение от T.Properties.CustomProperties.DataOrigin.

summary(T)
Description:  Simulated patient data
Variables:
    Gender: 100×1 cell array of character vectors
        Custom Properties:
            DataOrigin:  census
    Age: 100×1 double
        Properties:
            Units:  Yrs
        Custom Properties:
            DataOrigin:  census
        Values:
            Min        25  
            Median     39  
            Max        50  
    Smoker: 100×1 logical
        Custom Properties:
            DataOrigin:  self report
        Values:
            True        34   
            False       66   
    BloodPressure: 100×2 double
        Properties:
            Units:  mm Hg
            Description:  Systolic/Diastolic
        Custom Properties:
            DataOrigin:  blood pressure reading
        Values:
                      BloodPressure_1    BloodPressure_2
                      _______________    _______________
            Min             109                 68      
            Median          122               81.5      
            Max             138                 99      

Возвратите сводные данные как структуру. Каждое поле имеет структуру, соответствующую одной из табличных переменных.

s = summary(T)
s = struct with fields:
           Gender: [1×1 struct]
              Age: [1×1 struct]
           Smoker: [1×1 struct]
    BloodPressure: [1×1 struct]

Структура s.Age хранит сводные данные для переменной Age.

s.Age
ans = struct with fields:
                Size: [100 1]
                Type: 'double'
         Description: ''
               Units: 'Yrs'
          Continuity: []
                 Min: 25
              Median: 39
                 Max: 50
          NumMissing: 0
    CustomProperties: [1×1 struct]

Структура s.Age.CustomProperties хранит соответствующее значение из свойства T.Properties.CustomProperties.DataOrigin.

s.Age.CustomProperties
ans = struct with fields:

    DataOrigin: {'census'}

Создайте категориальный вектор 1 на 5.

A = categorical({'plane' 'car' 'train' 'car' 'plane'})
A = 1x5 categorical array
     plane      car      train      car      plane 

A имеет три категории, car, plane и train.

Распечатайте сводные данные A.

summary(A)
     car      plane      train 
       2          2          1 

car появляется в двух элементах A, plane появляется в двух элементах, и train появляется в одном элементе.

Поскольку A является вектором - строкой, summary перечисляет случаи каждой категории горизонтально.

Создайте 4 2 категориальный массив, A, от числового массива.

X = [1 3; 2 1; 3 1; 4 2];
valueset = 1:3;
catnames = {'red','green','blue'};

A = categorical(X,valueset,catnames)
A = 4x2 categorical array
     red              blue  
     green            red   
     blue             red   
     <undefined>      green 

A имеет три категории, red, green и blue. Значение, 4, не было включено во входной параметр valueset к функции categorical. Поэтому соответствующий элемент, A(4,1), не имеет соответствующей категории и не определен.

Распечатайте сводные данные A.

summary(A)
     red              1      2 
     green            1      1 
     blue             1      1 
     <undefined>      1      0 

red появляется однажды в первом столбце A и дважды во втором столбце.

green появляется однажды в первом столбце A и однажды во втором столбце.

blue появляется однажды в первом столбце A и однажды во втором столбце.

A содержит только один неопределенный элемент. Это происходит в первом столбце.

Создайте 3 2 категориальный массив, A, от числового массива.

A = categorical([1 3; 2 1; 3 1],1:3,{'red','green','blue'})
A = 3x2 categorical array
     red        blue 
     green      red  
     blue       red  

A имеет три категории, red, green и blue.

Распечатайте сводные данные A вдоль второго измерения.

summary(A,2)
     red      green      blue 
       1          0         1 
       1          1         0 
       1          0         1 

red появляется однажды в первой строке A, однажды во второй строке, и однажды в третьей строке.

green появляется только в одном элементе. Это происходит во второй строке A.

blue появляется однажды в первой строке A и однажды в третьей строке.

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

свернуть все

Входная таблица, заданная как таблица или расписание.

Категориальный массив, заданный как вектор, матрица или многомерный массив.

Размерность A, чтобы действовать к вперед, заданный как положительный целочисленный скаляр. Если никакое значение не задано, значением по умолчанию является первое измерение массива, размер которого не равняется 1.

Считайте двумерный категориальный массив A:

Если dim = 1, то summary(A,dim) отображает счета категории для каждого столбца A.

Если dim = 2, то summary(A,dim) возвращает количества категории каждой строки A.

Если dim больше, чем ndims(A), то summary(A) возвращает массив тот же размер как A для каждой категории. summary возвращает 1 для элементов в соответствующей категории и 0 в противном случае.

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

свернуть все

Сводные данные переменных таблицы или расписания, возвращенных как скалярная структура. Для каждого переменного T.VarName во входном параметре T выходная структура s содержит поле s.VarName со сводными данными для той переменной.

Для каждого типа данных s.VarName содержит поля, показанные ниже. Можно получить доступ к полям с точечной индексацией. Например, s.VarName.Size возвращает размер табличной переменной под названием VarName.

Тип переменной таблицы или расписания

Поля для сводных данных переменной

Описание

Числовой, datetime или duration

Размер

Размер переменной, сохраненной как числовой массив

Ввод

Тип переменной, сохраненной как вектор символа

Описание

Описание переменной, сохраненной как вектор символа

Модули

Модули переменной, сохраненной как вектор символа

Min

Минимальное значение

Медиана

Среднее значение

Max

Максимальное значение

NumMissing

Количество отсутствующих значений (NaN или NaT)

CustomProperties (не использованный, при отсутствии пользовательских свойств),

Имена и значения для пользовательских свойств, сопоставленных с переменной, сохраненной как структура

логический

Размер

Размер переменной, сохраненной как числовой массив

Ввод

Тип переменной, сохраненной как вектор символа

Описание

Описание переменной, сохраненной как вектор символа

Модули

Модули переменной, сохраненной как вектор символа

TRUE

Количество значений true

Ложь

Количество значений false

CustomProperties (не использованный, при отсутствии пользовательских свойств),

Имена и значения для пользовательских свойств, сопоставленных с переменной, сохраненной как структура

категориальный

Размер

Размер переменной, сохраненной как числовой массив

Ввод

Тип переменной, сохраненной как вектор символа

Описание

Описание переменной, сохраненной как вектор символа

Модули

Модули переменной, сохраненной как вектор символа

Категории

Категории, сохраненные как массив ячеек из символьных векторов

Counts

Число элементов в каждой категории, сохраненной как числовой массив

NumMissing

Количество отсутствующих значений (<undefined>)

CustomProperties (не использованный, при отсутствии пользовательских свойств),

Имена и значения для пользовательских свойств, сопоставленных с переменной, сохраненной как структура

Другой

Размер

Размер переменной, сохраненной как числовой массив

Ввод

Тип переменной, сохраненной как вектор символа

Описание

Описание переменной, сохраненной как вектор символа

Модули

Модули переменной, сохраненной как вектор символа

CustomProperties (не использованный, при отсутствии пользовательских свойств),

Имена и значения для пользовательских свойств, сопоставленных с переменной, сохраненной как структура

Если T является расписанием, то s также имеет поле со сводными данными времен строки. В течение времен строки расписания только, сводные данные включают поле TimeStep. Если времена строки увеличиваются или уменьшаются монотонно фиксированным временным шагом, то TimeStep имеет числовое значение. Если времена строки неправильны, то TimeStep является NaN.

Поля для сводных данных времен строки расписания

Описание полей

Размер

Размер вектора времен строки, сохраненных как числовой массив

Ввод

Тип данных, сохраненный как вектор символа

Min

Минимальное значение

Медиана

Среднее значение

Max

Максимальное значение

NumMissing

Количество отсутствующих значений (NaT или NaN)

TimeStep

Временной шаг между временами строки подряд (NaN, если неправильный)

Больше о

свернуть все

Табличные сводные данные

Табличные сводные данные отображают табличное описание от T.Properties.Description, сопровождаемого информацией о переменных T.

Сводные данные содержат следующую информацию о переменных:

  • Имя: Размер и Тип данных — Имя переменной от T.Properties.VariableNames, размера переменной и типа данных переменной.

  • Модули — Переменные модули от T.Properties.VariableUnits .

  • Описание — Описание переменной от T.Properties.VariableDescriptions .

  • Custom Properties: — Имена пользовательских свойств, которые применяются к переменным и их соответствующим значениям, от T.Properties.CustomProperties., Если нет никаких пользовательских свойств, то этот раздел не использован.

  • Значения — Только включенный для числового, логического, categorical, datetime или переменных duration.

    • Числовой, datetime или переменные duration — минимум, медиана и максимальные значения. Кроме того, количество отсутствующих значений (NaN s или NaT s) включено, когда тот номер больше, чем нуль.

    • Логические переменные — количество значений, которые являются true и количеством значений, которые являются false.

    • Переменные categorical — число элементов от каждой категории. Кроме того, количество неопределенных элементов включено, когда тот номер больше, чем нуль.

Если T является расписанием, то сводные данные содержат ту же информацию о векторе времен строки.

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

Введенный в R2013b

Была ли эта тема полезной?