replacedata
(Not Recommended) Replace dataset variables
The dataset
data type is not recommended. To work with heterogeneous data,
use the MATLAB®
table
data type instead. See MATLAB
table
documentation for more information.
Syntax
B = replacedata(A,X)
B = replacedata(A,X,vars)
B = replacedata(A,fun)
B =
replacedata(A,fun,vars)
Description
B = replacedata(A,X)
creates a dataset array
B
with the same variables as the dataset array A
, but with
the data for those variables replaced by the data in the array X
.
replacedata
creates each variable in B
using one or more
columns from X
, in order. X
must have as many columns as
the total number of columns in all of the variables in A
, and as many rows as
A
has observations.
B = replacedata(A,X,vars)
creates a dataset array
B
with the same variables as the dataset array A
, but with
the data for the variables specified in vars
replaced by the data in the array
X
. The remaining variables in B
are copies of the
corresponding variables in A
. vars
is a positive integer, a
vector of positive integers, a character vector, a string array, a cell array of character
vectors, or a logical vector. Each variable in B
has as many columns as the
corresponding variable in A
. X
must have as many columns as
the total number of columns in all the variables specified in vars
.
B = replacedata(A,fun)
or
B =
replacedata(A,fun,vars)
creates a dataset array B
by
applying the function fun
to the values in A
's variables.
replacedata
first horizontally concatenates A
's variables
into a single array, then applies the function fun
. The specified variables in
A
must have types and sizes compatible with the concatenation.
fun
is a function handle that accepts a single input array and returns an
array with the same number of rows and columns as the input.
Examples
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))