【发布时间】:2013-03-20 15:09:16
【问题描述】:
我有一个数据值矩阵,看起来有点像这样,但要大得多(2000+ 行,30+ 列):
NaN 12 3 NaN 18 NaN 42 NaN NaN NaN NaN...
68 NaN 14 Nan NaN NaN NaN NaN NaN NaN 26 ...
...
所以你看到它主要由 NaN 值填充。自然,我感兴趣的是由值填充的单元格。
我希望能够在这个数据集上运行 anovan,不幸的是它太大而无法手动重新格式化。我想要做的是让一个脚本在矩阵中运行,找到每个不是 NaN 的值及其在矩阵中的索引,并为 anovan 输入创建三个数组:
值=[12 3 18 42 68 14 26 ...]
行= [ 1 1 1 1 2 2 2 ...]
列= [ 2 3 5 7 1 3 11 ...]
行和列对应于研究中的评分者和评分者,这就是为什么保留每个值的准确索引对我来说如此重要的原因。
不过,我不知道该怎么做。
我尝试过使用 find,但无法让它做我想做的事情。
[r c v] = find(~isnan(datamatrix)) %% doesn't work
编辑:我觉得我可以这样做:
[r c v] = find(datamatrix)
不过,这将包括所有 NaN 值,在 [r c v] 输出中。在那种情况下,我将如何遍历 V 数组并删除 NaN 值及其对应的 R 和 C 值?
EDIT2:从头开始。我忘记了我的一些值是 0,所以我不能使用 FIND 命令。
【问题讨论】: