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