【问题标题】:How to replace a missing value of a table with a cell in Matlab?如何用Matlab中的单元格替换表格的缺失值?
【发布时间】:2018-01-14 07:36:49
【问题描述】:

我正在使用命令“readtable”从 excel 文件中导入数据。读入的数据都是字符串,matlab用NaN表示缺失值。

有没有办法将单元格分配给缺失值?因为我想做一个表格到数组的转换,而现有的 NaN 不断给我错误,比如“无法连接表格变量 'Var40' 和 'Var39',因为它们的类型是双精度和单元格”。

谢谢!

【问题讨论】:

  • 如果您添加了用于生成该表的代码,将会很有帮助。在我看来,您在表格中插入了单元格。如错误消息所示,类型为 char(字符串)和单元格。创建表时,检查输入的类型,如果要从表中获取数组,它们应该是双精度的。至于 NA,它看起来不像 Matlab 对 NaN 的表示,因为它不应该是 char 类型。

标签: matlab missing-data cell-array


【解决方案1】:
%These need to be the correct type! They cannot be cells or strings. If you 
%need to convert, do so before by extracting the contents of the variables, 
%like so: 
%var39 = var39{1}; 
%var40 = str2double(var40);
%var41 = var41{1};

var39 = 56.3584;
var40 = NaN;
var41 = 71.4144;

tbl = Table(var30, var40, var41);

ans = table2array(tbl);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-12
    相关资源
    最近更新 更多