Как разделить таблицу по значению в данном столбце? - PullRequest
0 голосов
/ 26 апреля 2019

У меня есть стол, скажем,

1,  2,   3,  4,  'good'
4, 32,  22,  1,  'bad'
2,  3,   1,  4,  'good'
9,  1,  23,  4,  'bad'

Я хочу разделить эту таблицу на два класса 'good' и 'bad'.

Что означает, что после разделения таблицы у меня будет

Таблица первая:

1,  2,   3,  4,  'good'
2,  3,   1,  4,  'good'

таблица два:

4, 32,  22,  1,  'bad'
9,  1,  23,  4,  'bad'

Есть ли простой способ сделать это, не изобретая велосипед?

Я использую MATLAB 2018a.

1 Ответ

2 голосов
/ 26 апреля 2019

Скажем, ваша таблица такова:

>> tbl = 
A   B    C   D   Rating
-----------------------
1,  2,   3,  4,  'good'
4, 32,  22,  1,  'bad'
2,  3,   1,  4,  'good'
9,  1,  23,  4,  'bad'

Вы можете сделать следующее:

table1 = tbl( strcmp( tbl.Rating, 'good' ), : );
table2 = tbl( strcmp( tbl.Rating, 'bad' ), : );

Это создает логические индексные массивы в зависимости от строки в столбце Rating, иназначает эти строки новым таблицам.

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