Сложите данные от нескольких переменных в единственную переменную
S = stack(U,vars)
S = stack(U,vars,Name,Value)
[S,iu] = stack(___)
преобразовывает таблицу или расписание, 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
.
также возвращает индексный вектор, [S,iu] = stack(___)
iu
, указывая на соответствие между строками в S
и строками в 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
.
Составьте таблицу, указывающую на сумму снегопада в трех местах от пяти отдельных штормов.
Storm = [1;2;3;4;5]; Date = {'12/25/11';'1/2/12';'1/23/12';'2/7/12';'2/15/12'}; Natick = [20;5;13;0;17]; Boston = [18;9;21;5;12]; Worcester = [26;10;16;3;15]; U = table(Storm,Date,Natick,Boston,Worcester)
U=5×5 table
Storm Date Natick Boston Worcester
_____ __________ ______ ______ _________
1 '12/25/11' 20 18 26
2 '1/2/12' 5 9 10
3 '1/23/12' 13 21 16
4 '2/7/12' 0 5 3
5 '2/15/12' 17 12 15
Storm
переменных и Date
содержат данные, который является постоянным в каждом местоположении.
Сложите переменные Natick
, Boston
и Worcester
в единственную переменную. Назовите переменную, содержащую сложенные данные, Snowfall
, и назовите новую переменную индикатора, Town
.
S = stack(U,{'Natick','Boston','Worcester'},... 'NewDataVariableName','Snowfall',... 'IndexVariableName','Town')
S=15×4 table
Storm Date Town Snowfall
_____ __________ _________ ________
1 '12/25/11' Natick 20
1 '12/25/11' Boston 18
1 '12/25/11' Worcester 26
2 '1/2/12' Natick 5
2 '1/2/12' Boston 9
2 '1/2/12' Worcester 10
3 '1/23/12' Natick 13
3 '1/23/12' Boston 21
3 '1/23/12' Worcester 16
4 '2/7/12' Natick 0
4 '2/7/12' Boston 5
4 '2/7/12' Worcester 3
5 '2/15/12' Natick 17
5 '2/15/12' Boston 12
5 '2/15/12' Worcester 15
S
содержит три строки для каждого шторма, и stack
повторяет данные в постоянных переменных, Storm
и Date
, соответственно.
Категориальная переменная, Town
, идентифицирует, какая переменная в U
содержит соответствующие данные Snowfall
.
Составьте таблицу, содержащую оцененные уровни гриппа вдоль восточного побережья Соединенных Штатов. Создайте различную переменную для Северо-востока, Середина Атлантики и Южной Атлантики. Источник данных: Google Flu Trends (http://www.google.org/flutrends).
Month = {'October';'November';'December';... 'January';'February';'March'}; Year = [2005*ones(3,1); 2006*ones(3,1)]; 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 = table(Month,Year,NE,MidAtl,SAtl)
fluU=6×5 table
Month Year 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
переменных и Year
содержат данные, который является постоянным через строку.
Сложите переменные NE
, MidAtl
и SAtl
в единственную переменную под названием FluRate
. Назовите новую переменную индикатора Region
и выведите индексный вектор, ifluU
, чтобы указать на соответствие между строками во входном параметре несложенная таблица, fluU
, и вывод сложил таблицу, fluS
.
[fluS,ifluU] = stack(fluU,3:5,... 'NewDataVariableName','FluRate',... 'IndexVariableName','Region')
fluS=18×4 table
Month Year 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
Входная таблицаВходная таблица, заданная как таблица или расписание.
вар
Переменные в U
, чтобы сложитьПеременные в U
, чтобы сложить, заданный как положительное целое число, вектор положительных целых чисел, вектора символа, массива ячеек из символьных векторов, массива строк или логического вектора.
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми.
Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение.
Имя
должно появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
, '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'
. Все группы должны содержать то же количество переменных.
Эта функция поддерживает высокие массивы с ограничением:
Двух-выходной синтаксис [S,iu] = stack(...)
не поддержан.
Для получения дополнительной информации см. Раздел "Высокие массивы".
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.