相当于R语言功能' is.na'在MATLAB中

时间:2017-12-11 05:19:05

标签: r matlab

MATLAB中是否有与R is.na相同的函数?

我试图将以下代码行转换为R代码。

if(sum(is.na(u))>0 || sum(is.na(v))>0)

其中uv是向量。

1 个答案:

答案 0 :(得分:5)

如果在MATLAB中有矩阵,那么所有值都是数值,NaN+/-Inf。如果您只想确定哪些是NaN,那么您应该使用isnan,如下所示:

if any( isnan(u) ) || any( isnan(v) )

注意,您可以使用sumnnz进行>0比较,就像您在R中所做的那样,而不是如图所示使用any,但是{{1这是适用于可用性和代码可读性的适当函数。

您在评论中提到要检查“缺失”值。还有一个MATLAB函数ismissing,它对于双矩阵具有与any相同的行为。其他变量类型的行为不同(例如检查isnan的单元格数组),有关详细信息,请参阅链接文档。