Распечатайте сводные данные таблицы, расписания или категориального массива
summary(T)
s = summary(T)
summary(A)
summary(A,dim)
summary(
распечатывает сводные данные таблицы или расписания T
)T
.
Если T
является таблицей, то сводная таблица отображает описание от T.Properties.Description
, сопровождаемого сводными данными табличных переменных.
Если T
является расписанием, то сводные данные расписания отображают описание от T.Properties.Description
, сводные данные времен строки, и затем сводные данные переменных расписания.
summary(
распечатывает сводные данные категориального массива A
)A
.
Если A
является вектором, то summary(A)
отображает названия категории наряду с числом элементов в каждой категории (количества категории). Это также отображает число элементов, которые не определены.
Если A
является матрицей, то summary
обрабатывает столбцы A
как векторы и отображает счета категории для каждого столбца A
.
Если A
является многомерным массивом, то summary
действует вдоль первого измерения массива, размер которого не равняется 1
.
Составление таблицы.
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×3 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×3 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×3 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: 100x1 cell array of character vectors Custom Properties: DataOrigin: census Age: 100x1 double Properties: Units: Yrs Custom Properties: DataOrigin: census Values: Min 25 Median 39 Max 50 Smoker: 100x1 logical Custom Properties: DataOrigin: self report Values: True 34 False 66 BloodPressure: 100x2 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: [1x1 struct]
Age: [1x1 struct]
Smoker: [1x1 struct]
BloodPressure: [1x1 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: [1x1 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
и однажды в третьей строке.
T
Входная таблицаВходная таблица, заданная как таблица или расписание.
A
Категориальный массивКатегориальный массив, заданный как вектор, матрица или многомерный массив.
dim
Размерность 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
в противном случае.
s
Сводные данные переменных таблицы или расписанияСводные данные переменных таблицы или расписания, возвращенных как скалярная структура. Для каждой переменной
во входе T.VarName
T
выходная структура s
содержит поле
со сводными данными для той переменной.s.VarName
Для каждого типа данных
содержит поля, показанные ниже. Можно получить доступ к полям с точечной индексацией. Например, s.VarName
возвращает размер табличной переменной под названием s.VarName.Size
.VarName
Тип переменной таблицы или расписания | Поля для сводных данных переменной | Описание |
---|---|---|
Числовой, |
| Размер переменной, сохраненной как числовой массив |
| Тип переменной, сохраненной как вектор символов | |
| Описание переменной, сохраненной как вектор символов | |
| Модули переменной, сохраненной как вектор символов | |
| Минимальное значение | |
| Среднее значение | |
| Максимальное значение | |
| Количество отсутствующих значений ( | |
| Имена и значения для пользовательских свойств, сопоставленных с переменной, сохраненной как структура | |
логический |
| Размер переменной, сохраненной как числовой массив |
| Тип переменной, сохраненной как вектор символов | |
| Описание переменной, сохраненной как вектор символов | |
| Модули переменной, сохраненной как вектор символов | |
| Количество значений | |
| Количество значений | |
| Имена и значения для пользовательских свойств, сопоставленных с переменной, сохраненной как структура | |
|
| Размер переменной, сохраненной как числовой массив |
| Тип переменной, сохраненной как вектор символов | |
| Описание переменной, сохраненной как вектор символов | |
| Модули переменной, сохраненной как вектор символов | |
| Категории, сохраненные как массив ячеек из символьных векторов | |
| Число элементов в каждой категории, сохраненной как числовой массив | |
| Количество отсутствующих значений ( | |
| Имена и значения для пользовательских свойств, сопоставленных с переменной, сохраненной как структура | |
Другой |
| Размер переменной, сохраненной как числовой массив |
| Тип переменной, сохраненной как вектор символов | |
| Описание переменной, сохраненной как вектор символов | |
| Модули переменной, сохраненной как вектор символов | |
| Имена и значения для пользовательских свойств, сопоставленных с переменной, сохраненной как структура |
Если T
является расписанием, то s
также имеет поле со сводными данными времен строки. В течение времен строки расписания только, сводные данные включают поле TimeStep
. Если времена строки увеличиваются или уменьшаются монотонно фиксированным временным шагом, то TimeStep
имеет числовое значение. Если времена строки неправильны, то 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
является расписанием, то сводные данные содержат ту же информацию о векторе времен строки.
Эта функция поддерживает высокие массивы с ограничением:
Некоторые поля в сводных данных может быть невозможно вычислить за разумное количество времени, такое как медиана.
Для получения дополнительной информации см. Раздел "Высокие массивы".
categorical
| categories
| countcats
| head
| table
| tail
| timetable
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.