assign name row to table

138 visualizaciones (últimos 30 días)
Luca Re
Luca Re el 31 de Mayo de 2023
Comentada: Walter Roberson el 1 de Jun. de 2023
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 comentarios
Walter Roberson
Walter Roberson el 31 de Mayo de 2023
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 el 31 de Mayo de 2023
Editada: Walter Roberson el 1 de Jun. de 2023
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;

Iniciar sesión para comentar.

Respuestas (2)

Walter Roberson
Walter Roberson el 31 de Mayo de 2023
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 comentarios
VBBV
VBBV el 1 de Jun. de 2023
@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 el 1 de Jun. de 2023
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

Iniciar sesión para comentar.


Sulaymon Eshkabilov
Sulaymon Eshkabilov el 31 de Mayo de 2023
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

Categorías

Más información sobre Tables en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by