exponenta event banner

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

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

Загрузить данные образца.

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

См. также

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

Подробнее