Добавьте и Удаление переменных

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

Загрузка демонстрационных данных.

Импортируйте данные из первого рабочего листа в 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 — который содержит индекс массы тела (BMI) для каждого пациента — к массиву набора данных. BMI является функцией высоты и веса. Отобразите фамилию, пол и 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

Операторы ./ и .^ в вычислении BMI указывают на поэлементное деление и возведение в степень, соответственно.

Удалите переменные переменным номером.

Удалите переменную wgt, четвертую переменную в массиве набора данных.

ds(:,4) = [];
ds.Properties.VarNames(:)
ans = 

    'name'
    'sex'
    'age'
    'smoke'
    'hgt'
    'bmi'

Переменная wgt удалена из массива набора данных.

Смотрите также

Связанные примеры

Больше о