В этом примере показано, как добавить и удалить переменные в массиве набора данных. Можно также редактировать массивы набора данных с помощью редактора Переменных.
Импортируйте данные из первого листа в hospitalSmall.xlsx
в массив набора данных.
ds = dataset('XLSFile',fullfile(matlabroot,'help/toolbox/stats/examples','hospitalSmall.xlsx')); size(ds)
ans = 14 6
Массив набора данных, ds
, имеет 14 наблюдений (строки) и 6 переменных (столбцы).
Лист Heights
в hospitalSmall.xlsx
имеет высоты для пациентов на первом листе. Конкатенируйте данные в этой электронной таблице с ds
.
ds2 = dataset('XLSFile',fullfile(matlabroot,'help/toolbox/stats/examples','hospitalSmall.xlsx'),'Sheet','Heights'); ds = [ds ds2]; size(ds)
ans = 14 7
Массив набора данных теперь имеет семь переменных. Можно только горизонтально конкатенировать массивы набора данных с наблюдениями в той же позиции или с теми же именами наблюдений.
ds.Properties.VarNames{end}
ans = hgt
Имя последней переменной в ds
является hgt
, что dataset
считайте из первой строки импортированной электронной таблицы.
Во-первых, укажите уникальные идентификаторы в переменной id
как имена наблюдений. Затем удалите переменную id
из массива набора данных.
ds.Properties.ObsNames = ds.id; ds.id = []; size(ds)
ans = 14 6
Массив набора данных теперь имеет шесть переменных. Перечислите имена переменных.
ds.Properties.VarNames(:)
ans = 'name' 'sex' 'age' 'wgt' 'smoke' 'hgt'
Переменная больше не называется id
.
Добавьте новую переменную, bmi
- который содержит индекс массы тела (ИМТ) для каждого пациента - в массив набора данных. ИМТ является функцией роста и веса. Отображение последних имен, пола и ИМТ для каждого пациента.
ds.bmi = ds.wgt*703./ds.hgt.^2; ds(:,{'name','sex','bmi'})
ans = name sex bmi YPL-320 'SMITH' 'm' 24.544 GLI-532 'JOHNSON' 'm' 24.068 PNI-258 'WILLIAMS' 'f' 23.958 MIJ-579 'JONES' 'f' 25.127 XLK-030 'BROWN' 'f' 21.078 TFP-518 'DAVIS' 'f' 27.729 LPD-746 'MILLER' 'f' 26.828 ATA-945 'WILSON' 'm' 24.41 VNL-702 'MOORE' 'm' 27.822 LQW-768 'TAYLOR' 'f' 22.655 QFY-472 'ANDERSON' 'f' 23.409 UJG-627 'THOMAS' 'f' 25.883 XUE-826 'JACKSON' 'm' 24.265 TRW-072 'WHITE' 'm' 29.827
Операторы ./
и .^
в вычислении ИМТ указывайте элементарное деление и экспоненцию соответственно.
Удалите переменную wgt
, четвертая переменная в массиве набора данных.
ds(:,4) = []; ds.Properties.VarNames(:)
ans = 'name' 'sex' 'age' 'smoke' 'hgt' 'bmi'
Переменная wgt
удаляется из массива набора данных.