a ve b listelemeleridir.belirli satırları liste halinde ayıkla
a<-list(matrix(1:36,9),matrix(7:38,8))
b<-list(matrix(c(1,1,1,1,0,0,1,0,1,1,0,0,0,1,1,1,0,0),9),matrix(c(1,0,0,1,0,0,0,1),8))
a ve b'deki satırların satır sayısı aynıdır. Ayık satırlarının b'de 1 değerine eşit olduğu bir form oluşturmasını istiyorum. matris içinde gösterilmez
Map(function(a,b) sapply(1:ncol(b), function(x) {a[which(b[,x]==1),]}), a,b)
ama ikinci objenin sonucu:
Ben aşağıdaki kodu kullanabilirsiniz
[[1]]
[[1]][[1]]
[,1] [,2] [,3] [,4]
[1,] 1 10 19 28
[2,] 2 11 20 29
[3,] 3 12 21 30
[4,] 4 13 22 31
[5,] 7 16 25 34
[6,] 9 18 27 36
[[1]][[2]]
[,1] [,2] [,3] [,4]
[1,] 1 10 19 28
[2,] 5 14 23 32
[3,] 6 15 24 33
[4,] 7 16 25 34
[[2]]
[,1]
[1,] 7
[2,] 10
[3,] 14
[4,] 15
[5,] 18
[6,] 22
[7,] 23
[8,] 26
[9,] 30
[10,] 31
[11,] 34
[12,] 38
bana bu konuda yardımcı olabilir, teşekkür ederim! Biz OP'ın kodunu kullanıyorsanız
,
sapply
ile sopa (varsayılan DOĞRU olduğu gibi)simplify=FALSE
kullanmak istiyorum 2 sütun. Yani, bu – akrun@akrun için 1 değere sahip olmanın koşulu bu yüzden – lightsnail