占了缺失数据的一种方法
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账户登录或创建一个新的。