Sort table by two columns using column name

17 ビュー (過去 30 日間)
Shana Hartel
Shana Hartel 2018 年 12 月 20 日
コメント済み: Peter Perkins 2018 年 12 月 21 日
Hello!
I can sort a table with: sortrows(tableName, 'columnName1').
I can also sort the same table by 2 columns using: sortrows(tableName,[columnNumber1 columnNumber2])
How can I sort the table by 2 columns using column name?
The following does not work: sortrows(tableName, ['columnName1' 'columnName2']). I get an error saying "unrecognized variable name 'columnName1ColumnName2'.
Thanks in advance!
  2 件のコメント
madhan ravi
madhan ravi 2018 年 12 月 20 日
upload your table
Peter Perkins
Peter Perkins 2018 年 12 月 21 日
The issue here is that ['columnName1' 'columnName2'] concatenates those two char row vectors to make one long one. As Chris says, you need either a cell array of char row vectors
>> {'columnName1' 'columnName2'}
ans =
1×2 cell array
{'columnName1'} {'columnName2'}
or in recent versions of MATLAB, a string array
>> ["columnName1" "columnName2"]
ans =
1×2 string array
"columnName1" "columnName2"

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

採用された回答

Cris LaPierre
Cris LaPierre 2018 年 12 月 20 日
Use curly braces. From the doc page for sortrows
sortrows(tblA,{'Height','Weight'})
Use square brackets if you want to use indexing to specify the columns
sortrows(tblA,[1 4])
  1 件のコメント
Shana Hartel
Shana Hartel 2018 年 12 月 20 日
That worked. Thanks!

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

その他の回答 (1 件)

madhan ravi
madhan ravi 2018 年 12 月 20 日
Another possible solution:
sortrows(yourtable,[yourtable{:,1} yourtable{:,2}])

カテゴリ

Help Center および File ExchangeShifting and Sorting Matrices についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by