Создание вложенных или иерархически проиндексированных таблиц в Matlab r2017b - PullRequest
0 голосов
/ 05 марта 2019

Я хотел бы создать таблицу с иерархической индексацией в Matlab R2017b.

Это выглядело бы как кадр данных pandas в Python с иерархическими столбцами, например:

                 bar                 baz                 foo                 qux          
          one       three       one       two       one       seven       one       two
A       0.895717  0.805244 -1.206412  2.565646  1.431256  1.340309 -1.170299 -0.226169
B       0.410835  0.813850  0.132003 -0.827317 -0.076467 -1.187678  1.130127 -1.436737
C      -1.413681  1.607920  1.024180  0.569605  0.875906 -2.211372  0.974466 -2.006747

Этовозможный?Если да, то как мне получить доступ к столбцу, связанному, скажем, с baz, two?

1 Ответ

0 голосов
/ 05 марта 2019

Вы можете сделать вложенные таблицы в R2017b, например, так:

t = table(table(rand(3,1), rand(3,1), 'VariableNames', {'one', 'three'}), ...
    table(rand(3,1), rand(3,1), 'VariableNames', {'one', 'two'}), ...
    'VariableNames', {'bar', 'baz'}, 'RowNames', {'A', 'B', 'C'})

В R2017b дисплей не впечатляет, например:

t =
  3×2 table
             bar            baz    
         ___________    ___________
    A    [1x2 table]    [1x2 table]
    B    [1x2 table]    [1x2 table]
    C    [1x2 table]    [1x2 table]

, но в R2018b лучше:

t =
  3×2 table
                bar                   baz        
           one       three       one        two  
         __________________    __________________
    A    0.81472    0.91338     0.2785    0.96489
    B    0.90579    0.63236    0.54688    0.15761
    C    0.12699    0.09754    0.95751    0.97059

В любой версии вы можете получить доступ к переменным вложенной таблицы, используя t.bar.one и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...