assign name row to table

137 ビュー (過去 30 日間)
Luca Re
Luca Re 2023 年 5 月 31 日
コメント済み: Walter Roberson 2023 年 6 月 1 日
Sistemi_check=table(string(K_Nome),K_idxInstrument');
LastName = {"Sanchez";"Johnson"};
Sistemi_check.Properties.RowNames=LastName;
>> check_Instrument
Error using .
The RowNames property must be a string array or a cell array, with each name containing one or more
characters.
Error in check_Instrument (line 22)
Sistemi_check.Properties.RowNames=LastName;
  2 件のコメント
Walter Roberson
Walter Roberson 2023 年 5 月 31 日
You are trying to assign exactly two row names, but there needs to be one row name entry for each row.
You have at least 30 rows in your table, so you need at least 30 row-name entries.
Luca Re
Luca Re 2023 年 5 月 31 日
編集済み: Walter Roberson 2023 年 6 月 1 日
ok i want to rename columns in a table..is correct to use VariableNames? i try it but i get an error
Sistemi_check=table(string(K_Nome),K_idxInstrument');
LastName = {"Sanchez";"Johnson"};
Sistemi_check.Properties.VariableNames=LastName;
Error using .
The VariableNames property is a cell array of character vectors. To assign multiple variable names,
specify nonempty names in a string array or a cell array of character vectors.
Error in check_Instrument (line 22)
Sistemi_check.Properties.VariableNames=LastName;

サインインしてコメントする。

回答 (2 件)

Walter Roberson
Walter Roberson 2023 年 5 月 31 日
Either use
LastName = ["Sanchez";"Johnson"];
Sistemi_check.Properties.RowNames=LastName;
or else
LastName = {'Sanchez';'Johnson'};
Sistemi_check.Properties.RowNames=LastName;
That is you can use a cell array of character vectors, or you can use a string() array, but you cannot use a cell array of string() objects.
  3 件のコメント
VBBV
VBBV 2023 年 6 月 1 日
@Luca Re, use the cell array of character vectors as shown below
% use the cell array as shown below
LastName = {'Sanchez','Johnson'};
Sistemi_check.Properties.RowNames=LastName;
By default, RowNames variable refers to rows in a table. So , a ; is not needed to tell table to concatenate the names vertically. See more about RowNames property RowNames
Walter Roberson
Walter Roberson 2023 年 6 月 1 日
Sistemi_check = table("first", 123)
Sistemi_check = 1×2 table
Var1 Var2 _______ ____ "first" 123
LastName = ["Sanchez";"Johnson"];
Sistemi_check.Properties.VariableNames=LastName
Sistemi_check = 1×2 table
Sanchez Johnson _______ _______ "first" 123
Sistemi_check = table("first", 123)
Sistemi_check = 1×2 table
Var1 Var2 _______ ____ "first" 123
LastName = {'Sanchez';'Johnson'};
Sistemi_check.Properties.VariableNames=LastName
Sistemi_check = 1×2 table
Sanchez Johnson _______ _______ "first" 123

サインインしてコメントする。


Sulaymon Eshkabilov
Sulaymon Eshkabilov 2023 年 5 月 31 日
Here is a plain example how to rename row and column names in a table array:
t1 = date;
t2 = '01-June-2023';
t3 = '10-June-2023';
t4 = '20-June-2023';
T = {t1; t2; t3;t4};
D = table(T);
D.N = [10:10:40]'
D = 4×2 table
T N ________________ __ {'31-May-2023' } 10 {'01-June-2023'} 20 {'10-June-2023'} 30 {'20-June-2023'} 40
% Add row names:
LastName = {'Sanchez';'Johnson'; 'Brown'; 'Green'};
D.Properties.RowNames=LastName
D = 4×2 table
T N ________________ __ Sanchez {'31-May-2023' } 10 Johnson {'01-June-2023'} 20 Brown {'10-June-2023'} 30 Green {'20-June-2023'} 40
% Change column names:
Col_Name = {'Date', 'Number'};
D=renamevars(D,{'T', 'N'}, Col_Name)
D = 4×2 table
Date Number ________________ ______ Sanchez {'31-May-2023' } 10 Johnson {'01-June-2023'} 20 Brown {'10-June-2023'} 30 Green {'20-June-2023'} 40

カテゴリ

Help Center および File ExchangeTables についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by