GNU Octave / Matlab Matrix Manipulation - PullRequest
0 голосов
/ 24 февраля 2020

Я довольно новичок в GNU Octave, поэтому кто-нибудь может мне помочь в двух вещах: (1) Как я могу отфильтровать этот огромный набор данных таким образом, чтобы он содержал только [1x1 struct] лиц? (2) Внутри этого значения структуры я хочу сохранить только комбинированные категории. Как я могу удалить остальные?

По сути, моей конечной целью является создание набора данных только с 2 столбцами (имя файла и комбинированные_категории отфильтрованных структур 1x1). И если бы я мог преобразовать это в CSV, это было бы более удивительным.

Snippet of GNU Octave

1 Ответ

1 голос
/ 24 февраля 2020

Относительно вашего первого вопроса, как отфильтровать структуру. Первый шаг - создать вектор, который решает, какие из них оставить, а какие удалить:

%Get the data for the relevant field
persons={test.person}
%For each field, check if the size is 1
one_person=cellfun(@numel,persons)==1
%Select those you want
test=test(one_person)

По поводу второго вопроса, пожалуйста, проверьте документацию по rmfield

...