Сложите данные из нескольких переменных в одну переменную
преобразовывает таблицу или расписание, S
= stack(U
,vars
)U
, в переводную таблицу или расписание, S
, это сложено. stack
функционируйте стеки несколько переменных из U
, заданный vars
, в одну переменную в S
. В общем случае S
содержит меньше переменных, но больше строк, чем U
.
Выходной аргумент, S
, содержит новую категориальную переменную, чтобы указать который переменная в U
сложенные данные в каждой строке прибыли из. stack
реплицирует данные из переменных в U
это не сложено.
Если U
таблица, затем вы не можете сложить имена строки.
Если U
расписание, затем вы не можете сложить времена строки.
преобразовывает таблицу, S
= stack(U
,vars
,Name,Value
)U
, с дополнительными опциями, заданными одним или несколькими Name,Value
парные аргументы.
Например, можно задать имена переменных для новых и сложенных переменных в U
.
Составьте таблицу, содержащую экзаменационные отметки от трех отдельных тестов. Таблица находится в распакованном формате.
Test1 = [93;57;87;89]; Test2 = [89;77;92;86]; Test3 = [95;62;89;91]; U = table(Test1,Test2,Test3)
U=4×3 table
Test1 Test2 Test3
_____ _____ _____
93 89 95
57 77 62
87 92 89
89 86 91
Таблица содержит четыре строки и три переменные.
Сложите экзаменационные отметки в одну переменную.
S = stack(U,1:3)
S=12×2 table
Test1_Test2_Test3_Indicator Test1_Test2_Test3
___________________________ _________________
Test1 93
Test2 89
Test3 95
Test1 57
Test2 77
Test3 62
Test1 87
Test2 92
Test3 89
Test1 89
Test2 86
Test3 91
S
содержит двенадцать строк и две переменные. S
находится в сложенном формате.
Категориальная переменная, Test1_Test2_Test3_Indicator
, идентифицирует, какой тест соответствует счету в сложенной переменной данных, Test1_Test2_Test3
.
Создайте расписание, указывающее на сумму снегопада в трех городах от пяти различных штормов. Задайте даты штормов как datetime
значения и используют их в качестве времен строки расписания U
. Задайте массив штормовых чисел, Storm
, как категориальный массив с тех пор существует фиксированный набор штормовых чисел в этом расписании.
Storm = categorical([1;2;3;4;5]); Date = datetime({'2011-12-25';'2012-01-02';'2012-01-23';'2012-02-07';'2012-02-15'}); Natick = [20;5;13;0;17]; Boston = [18;9;21;5;12]; Worcester = [26;10;16;3;15]; U = timetable(Date,Storm,Natick,Boston,Worcester)
U=5×4 timetable
Date Storm Natick Boston Worcester
___________ _____ ______ ______ _________
25-Dec-2011 1 20 18 26
02-Jan-2012 2 5 9 10
23-Jan-2012 3 13 21 16
07-Feb-2012 4 0 5 3
15-Feb-2012 5 17 12 15
Переменные Storm
и Date
содержите данные, которые являются постоянными в каждом местоположении.
Сложите переменные Natick
, Boston
, и Worcester
в одну переменную. Назовите переменную, содержащую сложенные данные, Snowfall
, и назовите новую переменную индикатора, Town
.
S = stack(U,{'Natick','Boston','Worcester'},... 'NewDataVariableName','Snowfall',... 'IndexVariableName','Town')
S=15×3 timetable
Date Storm Town Snowfall
___________ _____ _________ ________
25-Dec-2011 1 Natick 20
25-Dec-2011 1 Boston 18
25-Dec-2011 1 Worcester 26
02-Jan-2012 2 Natick 5
02-Jan-2012 2 Boston 9
02-Jan-2012 2 Worcester 10
23-Jan-2012 3 Natick 13
23-Jan-2012 3 Boston 21
23-Jan-2012 3 Worcester 16
07-Feb-2012 4 Natick 0
07-Feb-2012 4 Boston 5
07-Feb-2012 4 Worcester 3
15-Feb-2012 5 Natick 17
15-Feb-2012 5 Boston 12
15-Feb-2012 5 Worcester 15
S
содержит три строки для каждого шторма и stack
повторяет данные в постоянных переменных, Storm
и Date
, соответственно.
Категориальная переменная, Town
, идентифицирует который переменная в U
содержит соответствующий Snowfall
данные.
Создайте расписание, содержащее оцененные уровни гриппа в месяц вдоль восточного побережья Соединенных Штатов. Создайте различную переменную для Северо-востока, Середина Атлантики и Южной Атлантики. Источник данных: проект Google Flu Trends (поскольку прекращенный). Используйте datetime
массив как времена строки расписания.
Month = datetime(2005,10,1,'Format','MMMM yyyy') + calmonths(0:5); Month = Month'; NE = [1.1902; 1.3610; 1.5003; 1.7772; 2.1350; 2.2345]; MidAtl = [1.1865; 1.4120; 1.6043; 1.8830; 2.1227; 1.9920]; SAtl = [1.2730; 1.5820; 1.8625; 1.9540; 2.4803; 2.0203]; fluU = timetable(Month,NE,MidAtl,SAtl)
fluU=6×3 timetable
Month NE MidAtl SAtl
_____________ ______ ______ ______
October 2005 1.1902 1.1865 1.273
November 2005 1.361 1.412 1.582
December 2005 1.5003 1.6043 1.8625
January 2006 1.7772 1.883 1.954
February 2006 2.135 2.1227 2.4803
March 2006 2.2345 1.992 2.0203
Переменная Month
содержит данные, которые являются постоянными через строку.
Сложите переменные NE
, MidAtl
, и SAtl
в одну переменную под названием FluRate
. Назовите новую переменную Region
индикатора и выход вектор индекса,
ifluU
, указать на соответствие между строками во входе распаковало таблицу, fluU
, и выход сложил таблицу, fluS
.
[fluS,ifluU] = stack(fluU,1:3,... 'NewDataVariableName','FluRate',... 'IndexVariableName','Region')
fluS=18×2 timetable
Month Region FluRate
_____________ ______ _______
October 2005 NE 1.1902
October 2005 MidAtl 1.1865
October 2005 SAtl 1.273
November 2005 NE 1.361
November 2005 MidAtl 1.412
November 2005 SAtl 1.582
December 2005 NE 1.5003
December 2005 MidAtl 1.6043
December 2005 SAtl 1.8625
January 2006 NE 1.7772
January 2006 MidAtl 1.883
January 2006 SAtl 1.954
February 2006 NE 2.135
February 2006 MidAtl 2.1227
February 2006 SAtl 2.4803
March 2006 NE 2.2345
⋮
ifluU = 18×1
1
1
1
2
2
2
3
3
3
4
⋮
ifluU(5)
2
. Пятая строка в выходной таблице, fluS
, содержит данные из второй строки во входной таблице fluU
.
U
— Входная таблицаВходная таблица в виде таблицы или расписания.
vars
— Переменные в U
сложитьПеременные в U
сложить в виде положительного целого числа, вектора из положительных целых чисел, вектора символов, массива ячеек из символьных векторов, массива строк или логического вектора.
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
'NewDataVariableName','StackedData'
называет новую переменную данных StackedData
.'ConstantVariables'
— Переменные кроме vars
включать в выходПеременные кроме vars
включать в выход в виде разделенной запятой пары, состоящей из 'ConstantVariables'
и положительное целое число, вектор из положительных целых чисел, вектора символов, массива ячеек из символьных векторов, массива строк или логического вектора. stack
реплицирует данные из постоянных переменных для каждой сложенной записи из строки.
Значением по умолчанию являются все переменные в U
не заданный vars
. Можно задать 'ConstantVariables'
аргумент пары "имя-значение", чтобы исключить переменные, не заданные vars
или 'ConstantVariables'
из выходной таблицы, S
.
U
может иметь метки строки по ее первому измерению. Если U
таблица, затем она может иметь имена строки как метки. Если U
расписание, затем оно должно иметь времена строки как метки.
Можно включить имена строк или времена строки, когда вы задаете значение 'ConstantVariables'
.
stack
реплицирует имена строки или времена строки, даже когда вы не включаете их в 'ConstantVariables'
.
'NewDataVariableName'
— Назовите для новой переменной данных в S
Назовите для новой переменной данных в S
В виде разделенной запятой пары, состоящей из 'NewDataVariableName'
и вектор символов или строковый скаляр. Значением по умолчанию является конкатенация имен переменных из U
это сложено.
'IndexVariableName'
— Назовите для новой переменной индикатора в S
Назовите для новой переменной индикатора в S
В виде разделенной запятой пары, состоящей из 'IndexVariableName'
и вектор символов или строковый скаляр. Значением по умолчанию является имя на основе NewDataVariableName
.
S
— Таблица OutputСложенная таблица, возвращенная как таблица или расписание. S
содержит сложенную переменную данных, категориальную переменную индикатора и любые постоянные переменные.
Можно сохранить дополнительные метаданные, такие как описания, переменные модули, имена переменных и имена строки в S
. Для получения дополнительной информации смотрите разделы Свойств table
или timetable
.
stack
присваивает переменные модули и значения свойств описания переменной от первой переменной, перечисленной в vars
к соответствующему S.Properties.VariableUnits
и S.Properties.VariableDescrisciptions
значения для новой переменной данных.
iu
— Индексируйте к U
Индексируйте к U
, возвращенный как вектор-столбец. Вектор индекса, iu
, идентифицирует строку во входной таблице, U
, содержа соответствующие данные. stack
создает j
строка th в выходной таблице, S
, использование U(iu(j),vars)
.
Можно задать больше чем одну группу переменных данных в U
, и каждая группа становится сложенной переменной данных в S
. Используйте массив ячеек, чтобы содержать несколько значений для vars
, и массив ячеек из символьных векторов или массив строк, чтобы содержать несколько значений для 'NewDataVariableName'
аргумент пары "имя-значение". Все группы должны содержать то же количество переменных.
Эта функция полностью поддерживает "высокие" массивы. Для получения дополнительной информации см. Раздел "Высокие массивы".
join
| Объединяющие таблицы | Сложите табличные переменные | unstack
| Распакуйте табличные переменные
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.