Sort table by two columns using column name

37 ビュー (過去 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 ExchangeCell Arrays についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by