Main Content

setvartype

设置变量数据类型

说明

opts = setvartype(opts,type) 将基于指定的类型更新 opts 对象中的所有变量。type 必须是字符向量或是由有效数据类型名称组成的字符向量元胞数组。

示例

opts = setvartype(opts,selection,type) 只更新在 selection 参量中指定的变量的数据类型。

示例

全部折叠

使用 detectImportOptions 创建导入选项,设置多个变量的数据类型,然后使用 readtable 读取数据。

创建一个选项对象。

opts = detectImportOptions('patients.xls');

检查变量的当前(检测到的)数据类型。

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'   }

根据您的导入需要更改多个变量的数据类型。

opts = setvartype(opts,{'LastName','Gender','Location',...
                   'Smoker','SelfAssessedHealthStatus'},'string');
opts = setvartype(opts,{'Age','Height','Weight',...
                                'Systolic','Diastolic'},'single');

检查更新后的变量数据类型。

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'}

使用 readtable 导入更新类型之后的变量。

T = readtable('patients.xls',opts);

输入参数

全部折叠

文件导入选项,指定为 detectImportOptions 函数创建的 SpreadsheetImportOptionsDelimitedTextImportOptionsFixedWidthImportOptions 对象。opts 对象包含控制数据导入过程的属性,例如变量属性、数据位置属性、替代规则等。

选定的变量,指定为字符向量、字符串标量、字符向量元胞数组、字符串数组、数值索引数组或逻辑数组。

变量的名称(或索引)必须为 opts 对象的 VariableNames 属性中包含的名称的子集。

示例: 'Height'

示例: {'Height','LastName'}

示例: [5 9]

数据类型: char | string | cell | uint64 | logical

变量的数据类型,指定为包含有效数据类型名称的字符向量、字符串标量、字符向量元胞数组或字符串数组。type 参量指定导入变量时要使用的数据类型。使用此处列出的数据类型之一导入变量。

数据MATLAB® 数据类型
文本

'char''string'

数值

'single''double''int8''int16''int32''int64''uint8''uint16''uint32''uint64'

未定义的浮点数 NaN-Inf+Inf 仅对 singledouble 数据类型有效。因此,当您将浮点数据的类型更改为整数时,导入函数将会转换未定义的浮点数。例如,当转换为 'uint8' 数据类型时:

  • NaN 被转换为 0

  • -Inf 被转换为 intmin('int8')

  • +Inf 被转换为 intmax('int8')

同样的转换过程适用于所有整数数据类型:int8int16int16int32int64uint8uint16uint32uint64

逻辑值

'logical'

日期时间

'datetime'

持续时间

'duration'

分类

'categorical'

示例: opts = setvartype(opts,'Height','double') 将变量 Height 的数据类型更改为 double

示例: opts = setvartype(opts,{'Weight','LastName'},{'single','string'}) 将变量 Weight 的数据类型更改为 single,将变量 LastName 的数据类型更改为 string

数据类型: char | string | cell

版本历史记录

在 R2016b 中推出