В этом примере показано, как работать с переменными массива наборов данных и их данными.
Можно получить доступ к данным переменных или выбрать подмножество переменных, используя имена переменных (столбцов) и точечное индексирование. Загрузите массив образцов наборов данных. Отображение имен переменных в hospital.
load hospital
hospital.Properties.VarNames(:)ans = 7x1 cell
{'LastName' }
{'Sex' }
{'Age' }
{'Weight' }
{'Smoker' }
{'BloodPressure'}
{'Trials' }
Массив наборов данных содержит 7 переменных (столбцов) и 100 наблюдений (строк). Можно дважды щелкнуть hospital в окне Рабочая область для просмотра массива наборов данных в редакторе переменных.
Постройте гистограмму данных в переменной Weight.
figure histogram(hospital.Weight)

Гистограмма показывает, что распределение веса является бимодальным.
Нарисовать прямоугольные графики Weight сгруппированы по значениям в Sex (Мужской и женский). То есть использовать переменную Sex в качестве переменной группировки.
figure boxplot(hospital.Weight,hospital.Sex)

Бокс-сюжет говорит о том, что пол составляет бимодальность в весе.
Создание нового массива наборов данных только с переменными LastName, Sex, и Weight. Доступ к переменным можно получить по имени или номеру столбца.
ds1 = hospital(:,{'LastName','Sex','Weight'});
ds2 = hospital(:,[1,2,4]);Массивы наборов данных ds1 и ds2 эквивалентны. Использовать круглые скобки ( ) при индексировании массивов наборов данных для сохранения типа данных; то есть создать массив набора данных из подмножества массива набора данных. Можно также использовать редактор переменных для создания нового массива наборов данных из подмножества переменных и наблюдений.
Преобразование типа данных переменной Smoker от логического к номинальному с метками No и Yes.
hospital.Smoker = nominal(hospital.Smoker,{'No','Yes'});
class(hospital.Smoker)ans = 'nominal'
Отображение первых 10 элементов Smoker.
hospital.Smoker(1:10)
ans = 10x1 nominal
Yes
No
No
No
No
No
Yes
No
No
No
Если требуется изменить метки уровней в номинальном массиве, используйте setlabels.
Переменная BloodPressure является массивом «100 на 2». Первый столбец соответствует систолическому артериальному давлению, а второй столбец - диастолическому артериальному давлению. Разделите этот массив на две новые переменные, SysPressure и DiaPressure.
hospital.SysPressure = hospital.BloodPressure(:,1); hospital.DiaPressure = hospital.BloodPressure(:,2); hospital.Properties.VarNames(:)
ans = 9x1 cell
{'LastName' }
{'Sex' }
{'Age' }
{'Weight' }
{'Smoker' }
{'BloodPressure'}
{'Trials' }
{'SysPressure' }
{'DiaPressure' }
Массив наборов данных, hospital, имеет две новые переменные.
Использовать regexp для поиска переменных в hospital с 'Pressure' от их имени. Создайте новый массив наборов данных, содержащий только эти переменные.
bp = regexp(hospital.Properties.VarNames,'Pressure');
bpIdx = cellfun(@isempty,bp);
bpData = hospital(:,~bpIdx);
bpData.Properties.VarNames(:)ans = 3x1 cell
{'BloodPressure'}
{'SysPressure' }
{'DiaPressure' }
Новый массив наборов данных, bpData, содержит только переменные артериального давления.
Удалить переменную BloodPressure из массива наборов данных, hospital.
hospital.BloodPressure = []; hospital.Properties.VarNames(:)
ans = 8x1 cell
{'LastName' }
{'Sex' }
{'Age' }
{'Weight' }
{'Smoker' }
{'Trials' }
{'SysPressure'}
{'DiaPressure'}
Переменная BloodPressure больше не входит в массив наборов данных.