まず、私の質問のタイトルが明確でない場合は、先に進んで編集してください!
したがって、正方行列があるとします。
ex = outer(1:4, 2:5, "+")
colnames(ex) = paste(rep(c("Subj1", "Subj2"), each=2), "_",
rep("Factor1", each=2), ".", rep(c("A", "B")), sep="")
rownames(ex) = paste(rep(c("Subj1", "Subj2"), each=2), "_",
rep("Factor2", each=2), ".", rep(c("A", "B")), sep="")
マトリックス:
赤いボックスの値を抽出します。これは基本的に、各サブジェクト内の因子レベルのさまざまな組み合わせの値です(ただし、さまざまなサブジェクト間ではありません)。これらを以下の順序でベクトルに保存します。
[1] 3, 4, 4, 5, 7, 8, 8, 9
もちろん、次のようなループを使用することもできます。
v = NULL
for(i in 1:16){if(ex2[i,2] == ex2[i,3]) v[i] = ex2[i,1]}
v = v[!is.na(v)]
v
[1] 3 4 4 5 7 8 8 9
被験者の数、因子の数、および各因子内のレベルの数を考慮に入れることができる、これを行うためのより洗練された方法があるかどうか疑問に思います(すべての因子が同じ数のレベルを持っていると仮定します)。