我有一个看起来有点像这样的数据值矩阵,但要大得多(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)
不过,这将包括 [rcv] 输出中的所有 NaN 值。在那种情况下,我将如何遍历 V 数组并删除 NaN 值及其对应的 R 和 C 值?
EDIT2:从头开始。我忘记了我的一些值是 0,所以我不能使用 FIND 命令。