可以说我有两个列表清单,一个清单是二进制清单,另一个是定量清单。列表中的顺序很重要。我想将二进制矩阵映射到它的定性对象上,同时创建一个具有相同维数的相同数量的嵌套矩阵的新列表。这些矩阵将是其质量对应物的子集;二进制矩阵中有1个。子集矩阵:将二进制矩阵映射到定性矩阵上1s而不是0s,同时保持矩阵维度不变
# dummy data
dat1 <- c(0,1,0,1,1,0,0,0,1,0,0,0,1,1,0,1)
mat1 <- matrix(dat1, ncol=4, nrow=4, byrow=T)
dat2 <- c(1,1,0,1,0,0,1,1,0,1,0,1,0,1,0,0)
mat2 <- matrix(dat1, ncol=4, nrow=4, byrow=T)
lsMat1 <- list(mat1, mat2)
dat3 <- c(0.3,0.1,0.6,0.3,0.9,0.1,0.1,0.3,0.6,0.2,0.7,0.8,0.4,0.1,0.4,0.5)
mat3 <- matrix(dat3, ncol=4, nrow=4, byrow=T)
dat4 <- c(0.5,0.3,0.6,0.8,0.1,0.4,0.5,0.1,0.5,0.1,0.0,0.1,0.4,0.6,0.0,0.8)
mat4 <- matrix(dat4, ncol=4, nrow=4, byrow=T)
lsMat2 <- list(mat3, mat4)
所需的新嵌套列表
[[1]]
[,1] [,2] [,3] [,4]
[1,] 0.0 0.1 0 0.3
[2,] 0.9 0.0 0 0.0
[3,] 0.6 0.0 0 0.0
[4,] 0.4 0.1 0 0.5
[[2]]
[,1] [,2] [,3] [,4]
[1,] 0.0 0.3 0 0.8
[2,] 0.1 0.0 0 0.0
[3,] 0.5 0.0 0 0.0
[4,] 0.4 0.6 0 0.8
任何指针将不胜感激,谢谢!
这是所需的“新”列表上面提供的测试数据的正确值?根据你的定义它似乎不正确。 – MrFlick
欢呼声发表评论。是的,这是主意,但由于我手工做过,所以我可能会引入错误。我会检查并纠正它。 –