I got an error message "Renaming dimension names is not supported using RENAMEVARS." What are "dimension names"? How can one rename "dimenion names"?

3 件のコメント

Image Analyst
Image Analyst 2022 年 6 月 19 日
@alpedhuez after asking 426 questions you ought to know that you need to give more information. I'm sure you've been asked to read this link before
So, where is the error text? You know by now that we need ALL the red text, not just a small snippet from it. We especially need the actual line of code or full traceback. Did you try to do something to a table or a structure? I have no idea.
alpedhuez
alpedhuez 2022 年 6 月 19 日
編集済み: alpedhuez 2022 年 6 月 19 日
I just want to know what "dimenion names" are. https://www.mathworks.com/help/matlab/matlab_prog/changes-to-dimensionnames-property-in-r2016b.html do not seem to give an explanation.
code is just renamevars of the name of the first column of a table.
"Error using tabular/renamevars
Renaming dimension names is not supported using RENAMEVARS."
Image Analyst
Image Analyst 2022 年 6 月 19 日
編集済み: Image Analyst 2022 年 6 月 19 日
Since you won't show us your code, or tell us what you want to do, about all I can say are that for a regular 2-D matrix, the dimension names are "rows" and "columns". For 3-D you can call the third dimension "slice" or "Z". For a table, the dimensions are also rows and columns but are also called height and width, and there are height and width to determine those. For a table, the columns also have names, like column 1 of a table might be 'Date" and column 2 might be "weight" or whatever.
Dimension names are not really renamed. They are what they are (e.g. rows and columns). However you can rename a column in a table (the name of the column -- the header string you see above the column), if that's what you were trying to do.
For a structure, the dimensions I guess would be the number of field names the structure has. fieldnames

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

 採用された回答

Steven Lord
Steven Lord 2022 年 6 月 19 日

0 投票

Let me guess, you're trying to rename the Time of a timetable.
dt = datetime('today') + days(1:4).';
t = array2timetable(magic(4), 'RowTimes', dt)
t = 4×4 timetable
Time Var1 Var2 Var3 Var4 ___________ ____ ____ ____ ____ 20-Jun-2022 16 2 3 13 21-Jun-2022 5 11 10 8 22-Jun-2022 9 7 6 12 23-Jun-2022 4 14 15 1
t.Properties
ans =
TimetableProperties with properties: Description: '' UserData: [] DimensionNames: {'Time' 'Variables'} VariableNames: {'Var1' 'Var2' 'Var3' 'Var4'} VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowTimes: [4×1 datetime] StartTime: 20-Jun-2022 SampleRate: NaN TimeStep: 1d CustomProperties: No custom properties are set. Use addprop and rmprop to modify CustomProperties.
t2 = renamevars(t, 'Time', 'Date')
Error using tabular/renamevars
Renaming dimension names is not supported using RENAMEVARS.
While Time looks like a variable, it's actually the name of the first dimension of t. You can use t.Time to get all of the row times, just like you can (if they can be concatenated into one array) use t.Variables to get all the data in the array.
See the description of DimensionNames in the Name-Value Arguments subsection under the Input Arguments section as well as the description of DimensionNames in the Properties section of this documentation page for more information about dimension names for a timetable.
This would work (but not in this Answers post, since MATLAB threw an error above.)
t.Properties.DimensionNames{1} = 'Date';

3 件のコメント

Peter Perkins
Peter Perkins 2022 年 6 月 20 日
Just to reinfoce what Steve says: the row times of a timetable (and the optional row names of a table) are METAdata, not data, i.e., they are not "variables in the table", they are "labels along the row dimension". And that row dimension has a name.
alpedhuez
alpedhuez 2022 年 6 月 20 日
Yes you are right. But what is the rationale?
Peter Perkins
Peter Perkins 2022 年 6 月 21 日
What is the rationale of any of the names in tables? To give meaning to things that would otherwise be described as "1" etc.

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

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeTables についてさらに検索

製品

リリース

R2022a

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by