1
首先,如果我的问题的标题不明确,请继续编辑它!在R中的一个大方形矩阵内沿对角线选择较小的方阵矩阵
所以假设我有一个矩形矩阵。
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
我不知道是否有一个更优雅的方式来做到这一点,可以考虑到主题的数量,因素的数量,以及每个因素内的层数(假设所有因素都相等。级别的数量)
非常感谢!这正是我想要完成的! – Alex