罗兰在MATLAB的艺术

把想法变成MATLAB

请注意

罗兰在MATLAB的艺术已经存档,不会被更新。

占了缺失数据的一种方法

MATLAB的概念不是一个数字,也被称为持续很长一段时间。后,IEEE 754标准二进制浮点算术导致一些浮点计算例如,0/0。您也可以使用它们作为占位符数值数组,例如表示缺失的数据。如果你这样做,你是如何运作的
在这些数组和获得答案,占他们失踪?我将展示一个例子。

内容

样本数据集

让我们创建一个数据集,有一些缺失值。

m = 10;n = 3;data = randn (m, n);失踪= abs(数据)> 1.2;数据(失踪)= NaN
data = -0.3999南-1.0106 0.6900 0.2573 0.6145 0.8156 -1.0565 0.5077 0.7119南南南-0.8051 0.5913 0.6686 0.5287 -0.6436 1.1908 0.2193 0.3803南-0.1567 -0.0592 -0.0482 -0.0195 -0.9219 -1.0091 -0.0198南

计算列意味着

现在,让我们来计算数据的均值,columnwise。

meanc =总和(数据)/ m
meanc =南南南

假设表明缺失值,意味着我们刚刚计算自不是很有用价值观传播到的意思。

计算列意味着占NaN值

现在,让我们尝试计算均值,而无视缺失值。要做到这一点,首先我们需要找到这些值。我们将使用逻辑索引、MATLAB中的一个有用的概念。我们将产生一个矩阵逻辑值,即真正的,真正的指示位置在我们的数据值不存在。

notNaN = ~ isnan(数据)
notNaN = 1 0 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1

接下来,我们发现每一列中有多少是合法的数据值。

多少=总和(notNaN)
多少= 8 7 9

我们替换丢失的数据值和0

数据(~ notNaN) = 0
data = -0.3999 0 -1.0106 0.6900 0.2573 0.6145 0.8156 -1.0565 0.5077 0.7119 0 0 0 0 -0.8051 0.5913 0.6686 0.5287 -0.6436 1.1908 0.2193 0.3803 -0.0195 -0.1567 -0.0592 -0.0482 -0.9219 -1.0091 -0.0198 0

接下来,我们总和这些值。

columnTot =总和(数据)
columnTot = 3.5006 -1.8373 -0.6373

最后我们计算列的意思。

colMean = columnTot。/多少
colMean = 0.4376 -0.2625 -0.0708

推广到其他维度

统计工具箱包含的功能类似于我们刚刚通过了功能nanmean,允许你选择尺寸来计算平均值。此外,该工具箱包括一套相关的函数来处理丢失的数据。

丢失任何数据吗?

你使用的数据集有缺口或缺失的数据吗?你如何处理它们?把你的想法在这里

使用MATLAB®7.5发表


  • 打印

评论

留下你的评论,请点击在这里MathWorks账户登录或创建一个新的。