かなり大きい(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とそのインデックスではないすべての値を見つけて、アノバン入力用に3つの配列を作成することです。
値=[123 18 42 68 14 26 ...]
行=[11 1 1 2 2 2 ...]
列=[23 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コマンドを使用できません。