MATLAB中有与R相同的函数is.na吗?
我正在尝试将以下代码行转换为R代码.
if(sum(is.na(u))>0 || sum(is.na(v))>0)
Run Code Online (Sandbox Code Playgroud)
在哪里u和v是向量.
如果你在MATLAB中有一个矩阵,那么所有的值都是数字的,NaN或者+/-Inf.如果你只是想确定哪些是NaN那么你应该这样使用isnan:
if any( isnan(u) ) || any( isnan(v) )
Run Code Online (Sandbox Code Playgroud)
注意,你可以像在R中那样使用sum或nnz进行>0比较,而不是any如图所示使用,但any这里是适用于可用性和代码可读性的适当函数.
您在评论中提到要检查"缺失"值.还有一个MATLAB函数ismissing,它具有与isnan双矩阵相同的行为.其他变量类型(例如,单元格数组检查'')的行为是不同的,有关详细信息,请参阅链接的文档.