setvartype - Set variable data types - MATLAB (original) (raw)
Syntax
Description
[opts](#bvetpnn-1%5Fsep%5Fshared-opts) = setvartype([opts](#bvetpnn-1%5Fsep%5Fshared-opts),[type](#bvetpnn-1-type))
updates all the variables in the opts
object based on the specified type. type
must be a character vector or a cell array of character vector of valid data type names.
[opts](#bvetpnn-1%5Fsep%5Fshared-opts) = setvartype([opts](#bvetpnn-1%5Fsep%5Fshared-opts),[selection](#mw%5F08bdc6fa-ab39-4acb-9a31-39bf7b77f6be),[type](#bvetpnn-1-type))
updates data type for only the variables specified in theselection
argument.
Examples
Use detectImportOptions
to create import options, set multiple variable data types, and then read the data using readtable
.
Create an options object.
opts = detectImportOptions('patients.xls');
Examine the current (detected) data types of the variables.
disp([opts.VariableNames' opts.VariableTypes'])
{'LastName' } {'char' }
{'Gender' } {'char' }
{'Age' } {'double' }
{'Location' } {'char' }
{'Height' } {'double' }
{'Weight' } {'double' }
{'Smoker' } {'logical'}
{'Systolic' } {'double' }
{'Diastolic' } {'double' }
{'SelfAssessedHealthStatus'} {'char' }
Change the data type of multiple variables depending on your import needs.
opts = setvartype(opts,{'LastName','Gender','Location',... 'Smoker','SelfAssessedHealthStatus'},'string'); opts = setvartype(opts,{'Age','Height','Weight',... 'Systolic','Diastolic'},'single');
Examine the updated data types of the variables.
disp([opts.VariableNames' opts.VariableTypes'])
{'LastName' } {'string'}
{'Gender' } {'string'}
{'Age' } {'single'}
{'Location' } {'string'}
{'Height' } {'single'}
{'Weight' } {'single'}
{'Smoker' } {'string'}
{'Systolic' } {'single'}
{'Diastolic' } {'single'}
{'SelfAssessedHealthStatus'} {'string'}
Import the variables with their updated types using readtable
.
T = readtable('patients.xls',opts);
Input Arguments
File import options, specified as a SpreadsheetImportOptions
, DelimitedTextImportOptions
, or a FixedWidthImportOptions
object created by the detectImportOptions function. The opts
object contains properties that control the data import process, such as variable properties, data location properties, replacement rules, and others.
Selected variables, specified as a character vector, string scalar, cell array of character vectors, string array, array of numeric indices, or a logical array.
Variable names (or indices) must be a subset of the names contained in theVariableNames
property of the opts
object.
Example: 'Height'
Example: {'Height','LastName'}
Example: [5 9]
Data Types: char
| string
| cell
| uint64
| logical
Variable data type, specified as a character vector, string scalar, cell array of character vectors, or string array containing valid data type names. The type
argument designates the data types to use when importing the variable. Import the variables using one of the data types listed here.
Data | MATLABĀ® Data Type |
---|---|
Text | 'char' or'string' |
Numeric | 'single','double','int8','int16','int32','int64','uint8','uint16','uint32', or'uint64'Undefined floating-point numbers NaN,-Inf, +Inf are only valid for single anddouble data types. Therefore, when you change the type of floating-point data to an integer, the importing function converts the undefined floating-point numbers. For example, when converting to the 'uint8' data type: NaN is converted to0.-Inf is converted tointmin('int8').+Inf is converted tointmax('int8').The same conversion process applies to all the integer data types:int8, int16,int16,int32, int64,uint8,uint16,uint32, oruint64. |
Logical | 'logical' |
Date and time | 'datetime' |
Duration | 'duration' |
Categorical | 'categorical' |
Example: opts = setvartype(opts,'Height','double')
changes the data type of the variable Height
todouble
.
Example: opts = setvartype(opts,{'Weight','LastName'},{'single','string'})
changes the data type of the variable Weight
tosingle
and variable LastName
tostring
.
Data Types: char
| string
| cell
Version History
Introduced in R2016b