Добавление и удаление переменных

В этом примере показано, как добавить и удалить переменные в массиве набора данных. Можно также редактировать массивы набора данных с помощью редактора Переменных.

Загрузите выборочные данные.

Импортируйте данные из первого листа в 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 удаляется из массива набора данных.

См. также

Похожие примеры

Подробнее о