Переориентируйте таблицу или расписание так, чтобы строки стали переменными
T2 = rows2vars(T1)
T2 = rows2vars(T1,'VariableNamesSource',varnames)
T2 = rows2vars(___,'DataVariables',datavars)
переориентирует строки T2 = rows2vars(T1)
T1
, так, чтобы они стали переменными в выходной таблице T2
, как показано в схеме. Если rows2vars
может конкатенировать содержимое строк T1
, то соответствующие переменные T2
являются массивами. В противном случае переменные T2
являются массивами ячеек. rows2vars
всегда возвращает таблицу, хотя T1
может быть или таблицей или расписанием.
Функция rows2vars
копирует имена переменных T1
к новой переменной T2
. Если T1
имеет имена строки или времена строки, то те имена или времена становятся именами переменных T2
. В противном случае rows2vars
генерирует, называет Var1,…,VarN
как имена переменных T2
.
задает переменную в T2 = rows2vars(T1,'VariableNamesSource',varnames)
T1
как источник имен, данных переменным T2
. Можно задать varnames
как имя переменной или числовой или логический индекс.
T2 = rows2vars(___,'DataVariables',datavars)
выбирает переменные T1
, заданного datavars
, и переориентирует только те переменные, чтобы стать строками T2
. Остающиеся переменные T1
отбрасываются. datavars
может быть одними или несколькими именами переменных, массивом числовых или логических индексов или объектом индексирования (например, вывод функции vartype
). Можно использовать этот синтаксис с входными параметрами любого из предыдущих синтаксисов.
Если вы задаете переменную с помощью аргумента в виде пар "имя-значение" 'VariableNamesSource'
от предыдущего синтаксиса, то вы не можете задать ту переменную в datavars
.
Составьте таблицы, и затем переориентируйте их строки, чтобы быть переменными в новых таблицах.
Загрузите массивы данных от patients.mat
matfile. Составьте таблицу, которая содержит LastName
, Gender
, Age
, Height
и переменные Weight
.
load patients
T1 = table(LastName,Gender,Age,Height,Weight);
head(T1,3)
ans=3×5 table
LastName Gender Age Height Weight
__________ ________ ___ ______ ______
'Smith' 'Male' 38 71 176
'Johnson' 'Male' 43 69 163
'Williams' 'Female' 38 64 131
Переориентируйте строки T1, чтобы быть переменными выходной таблицы.
T2 = rows2vars(T1);
Отобразите первые четыре переменные T2
. Первая переменная T2
содержит имена переменных T1
. Остающиеся переменные T2
соответствуют строкам T1
. Поскольку T1
не имел никаких меток строки, переменные T2
имеют имена по умолчанию, Var1
к VarN
для переменных N
.
T2(:,1:4)
ans=5×4 table
OriginalVariableNames Var1 Var2 Var3
_____________________ _______ _________ __________
'LastName' 'Smith' 'Johnson' 'Williams'
'Gender' 'Male' 'Male' 'Female'
'Age' [ 38] [ 43] [ 38]
'Height' [ 71] [ 69] [ 64]
'Weight' [ 176] [ 163] [ 131]
Составьте таблицу с именами строки. Если таблица имеет имена строки, то rows2vars
превращает имена строки на имена переменных.
T3 = table(Gender,Age,Height,Weight,'RowNames',LastName);
head(T3,3)
ans=3×4 table
Gender Age Height Weight
________ ___ ______ ______
Smith 'Male' 38 71 176
Johnson 'Male' 43 69 163
Williams 'Female' 38 64 131
Переориентируйте строки T3
.
T4 = rows2vars(T3); T4(:,1:4)
ans=4×4 table
OriginalVariableNames Smith Johnson Williams
_____________________ ______ _______ ________
'Gender' 'Male' 'Male' 'Female'
'Age' [ 38] [ 43] [ 38]
'Height' [ 71] [ 69] [ 64]
'Weight' [ 176] [ 163] [ 131]
Загрузите расписание и отобразите его.
load bostonTT
Boston
Boston=6×3 timetable
Time Temp WindSpeed Rain
___________________ ____ _________ ____
2016-06-09 06:03:00 59.5 0.1 0.05
2016-06-09 12:00:23 63 2.3 0.08
2016-06-09 18:02:57 61.7 3.1 0.13
2016-06-10 06:01:47 55.4 5.7 0.15
2016-06-10 12:06:00 62.3 2.6 0.87
2016-06-10 18:02:57 58.8 6.2 0.33
Переориентируйте его так, чтобы его строки стали переменными в выводе. Функция rows2vars превращает времена строки на имена, но должна изменить их так, чтобы они были допустимыми именами переменной. Кроме того, выходным аргументом, возвращенным rows2vars, всегда является таблица, даже когда входной параметр является расписанием.
T = rows2vars(Boston)
Warning: Variable names were modified to make them valid MATLAB identifiers.
T=3×7 table
OriginalVariableNames x2016_06_0906_03_00 x2016_06_0912_00_23 x2016_06_0918_02_57 x2016_06_1006_01_47 x2016_06_1012_06_00 x2016_06_1018_02_57
_____________________ ___________________ ___________________ ___________________ ___________________ ___________________ ___________________
'Temp' 59.5 63 61.7 55.4 62.3 58.8
'WindSpeed' 0.1 2.3 3.1 5.7 2.6 6.2
'Rain' 0.05 0.08 0.13 0.15 0.87 0.33
Считайте данные из электронной таблицы в таблицу. Отобразите первые три строки.
T1 = readtable('patients.xls');
head(T1,3)
ans=3×10 table
LastName Gender Age Location Height Weight Smoker Systolic Diastolic SelfAssessedHealthStatus
__________ ________ ___ ___________________________ ______ ______ ______ ________ _________ ________________________
'Smith' 'Male' 38 'County General Hospital' 71 176 true 124 93 'Excellent'
'Johnson' 'Male' 43 'VA Hospital' 69 163 false 109 77 'Fair'
'Williams' 'Female' 38 'St. Mary's Medical Center' 64 131 false 125 83 'Good'
Переориентируйте строки T1
, чтобы быть переменными новой таблицы, T2
. Укажите, что переменная LastName
от T1
является источником имен переменных T2
.
T2 = rows2vars(T1,'VariableNamesSource','LastName');
Отобразите первые четыре переменные T2
. Первая переменная T2
содержит имена переменных T1
. Остающиеся переменные T2
соответствуют строкам T1
.
T2(:,1:4)
ans=9×4 table
OriginalVariableNames Smith Johnson Williams
__________________________ _________________________ _____________ ___________________________
'Gender' 'Male' 'Male' 'Female'
'Age' [ 38] [ 43] [ 38]
'Location' 'County General Hospital' 'VA Hospital' 'St. Mary's Medical Center'
'Height' [ 71] [ 69] [ 64]
'Weight' [ 176] [ 163] [ 131]
'Smoker' [ 1] [ 0] [ 0]
'Systolic' [ 124] [ 109] [ 125]
'Diastolic' [ 93] [ 77] [ 83]
'SelfAssessedHealthStatus' 'Excellent' 'Fair' 'Good'
Отобразите данные в T2.Smith
. В этом примере каждая переменная T2
является 9 1 массивом ячеек, потому что значения в строках T1
не могут быть конкатенированы в массивы.
T2.Smith
ans = 9x1 cell array
{'Male' }
{[ 38]}
{'County General Hospital'}
{[ 71]}
{[ 176]}
{[ 1]}
{[ 124]}
{[ 93]}
{'Excellent' }
Считайте данные из электронной таблицы в таблицу. Используйте первый столбец электронной таблицы как имена строки таблицы. Отобразите первые три строки.
T1 = readtable('patients.xls','ReadRowNames',true); head(T1,3)
ans=3×9 table
Gender Age Location Height Weight Smoker Systolic Diastolic SelfAssessedHealthStatus
________ ___ ___________________________ ______ ______ ______ ________ _________ ________________________
Smith 'Male' 38 'County General Hospital' 71 176 true 124 93 'Excellent'
Johnson 'Male' 43 'VA Hospital' 69 163 false 109 77 'Fair'
Williams 'Female' 38 'St. Mary's Medical Center' 64 131 false 125 83 'Good'
Переориентируйте заданные переменные от T1
и отбросьте остальных. Чтобы задать переменные данных по наименованию, используйте массив ячеек из символьных векторов.
T2 = rows2vars(T1,'DataVariables',{'Gender','Age','Height','Weight'}); T2(:,1:4)
ans=4×4 table
OriginalVariableNames Smith Johnson Williams
_____________________ ______ _______ ________
'Gender' 'Male' 'Male' 'Female'
'Age' [ 38] [ 43] [ 38]
'Height' [ 71] [ 69] [ 64]
'Weight' [ 176] [ 163] [ 131]
Также можно задать переменные данных положением во входной таблице. Чтобы задать положения переменных, используйте числовой массив.
T3 = rows2vars(T1,'DataVariables',[1 2 6:9]);
T3(:,1:4)
ans=6×4 table
OriginalVariableNames Smith Johnson Williams
__________________________ ___________ _______ ________
'Gender' 'Male' 'Male' 'Female'
'Age' [ 38] [ 43] [ 38]
'Smoker' [ 1] [ 0] [ 0]
'Systolic' [ 124] [ 109] [ 125]
'Diastolic' [ 93] [ 77] [ 83]
'SelfAssessedHealthStatus' 'Excellent' 'Fair' 'Good'
T1
Входная таблицаВходная таблица, заданная как таблица или расписание.
varnames
Источник имен для выходных табличных переменныхИсточник имен для выходных табличных переменных, заданных как вектор символа, представляет в виде строки скаляр, целое число или логический массив.
Если varnames
является вектором символа или скаляром строки, то это - имя переменной во входной таблице T1
.
Если varnames
является целочисленный n
, то это указывает на n
th переменная в T1
.
Если varnames
является логическим массивом, то он указывает на n
th переменная путем определения ее n
th элемент как 1
(true
). Всеми другими элементами должен быть 0
(false
).
В то время как varnames
должен быть именем, номером или логическим массивом, который задает табличную переменную, сама переменная может иметь любой тип данных с этими ограничениями.
Значения, содержавшиеся в заданной табличной переменной, должны иметь тип данных, который позволяет значениям быть преобразованными в строки. Например, varnames
может быть именем табличной переменной, которая содержит массив datetime, потому что значения datetime могут быть преобразованы в строки.
Количество имен, взятых от заданной табличной переменной, должно совпадать с количеством строк входной таблицы.
datavars
— Переменные во входной таблицеПеременные во входной таблице, заданной как вектор символа, массив ячеек из символьных векторов, массив строк, числовой массив, логический массив, или преобразовывающий объект в нижний индекс.
inner2outer
| innerjoin
| соединение
| outerjoin
| стек
| нестек
| vartype
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.