Класс: набор данных
(Не рекомендуется) Заменить переменные набора данных
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))