replacedata

Класс: набор данных

Замените переменные набора данных

Тип данных dataset может быть удален в будущем релизе. Чтобы работать с гетерогенными данными, используйте тип данных MATLAB® table вместо этого. Смотрите MATLAB документация table для получения дополнительной информации.

Синтаксис

B = replacedata(A,X)
B = replacedata(A,X,vars)
B = replacedata(A,fun)
B = replacedata(A,fun,vars)

Описание

B = replacedata(A,X) создает массив набора данных B с теми же переменными как массив набора данных A, но с данными для тех переменных, замененных по условию в массиве X. replacedata создает каждую переменную в B с помощью одного или нескольких столбцов от X по порядку. X должен иметь столько же столбцов сколько общее количество столбцов во всех переменных в A, и столько строк, сколько A имеет наблюдения.

B = replacedata(A,X,vars) создает массив набора данных B с теми же переменными как массив набора данных A, но с данными для переменных, заданных в vars, замененном по условию в массиве X. Остающиеся переменные в B являются копиями соответствующих переменных в A. vars является положительным целым числом, вектором положительных целых чисел, вектора символов, массива строк, массива ячеек из символьных векторов или логического вектора. Каждая переменная в B имеет столько же столбцов сколько соответствующая переменная в A. X должен иметь столько же столбцов сколько общее количество столбцов во всех переменных, заданных в vars.

B = replacedata(A,fun) или B = replacedata(A,fun,vars) создает массив набора данных B путем применения функционального fun к значениям в переменных A. replacedata сначала горизонтально конкатенирует переменные A в единый массив, затем применяет функциональный fun. Заданные переменные в A должны иметь типы и размеры, совместимые с конкатенацией. fun является указателем на функцию, который принимает один входной массив и возвращает массив с одинаковым числом строк и столбцами как вход.

Примеры

data = dataset({rand(3,3),'Var1','Var2','Var3'})

% Use ZSCORE to normalize each variable in a dataset array
% separately, by explicitly extracting and transforming the
% data, and then replacing it.
X = double(data);
X = zscore(X);
data = replacedata(data,X)

% Equivalently, provide a handle to ZSCORE.
data = replacedata(data,@zscore)

% Use ZSCORE to normalize each observation in a dataset
% array separately by creating an anonymous function.
data = replacedata(data,@(x) zscore(x,[],2)) 

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