Arrays R中带数组的平凡子集选择
我有一个6*3*3维数组:Arrays R中带数组的平凡子集选择,arrays,r,Arrays,R,我有一个6*3*3维数组: a<-array(data=rep(1:5,10),dim=c(6,3,3) 选择后,这是我想要得到的: , , 1 [,1] [5,] 5 , , 2 [,1] [3,] 1 , , 3 [,1] [1,] 2 [6,] 2 你可以做: lapply(seq_along(b), function(i) a[a[, 2, i] == b[i], 1, i, drop = F
a<-array(data=rep(1:5,10),dim=c(6,3,3)
选择后,这是我想要得到的:
, , 1
[,1]
[5,] 5
, , 2
[,1]
[3,] 1
, , 3
[,1]
[1,] 2
[6,] 2
你可以做:
lapply(seq_along(b), function(i) a[a[, 2, i] == b[i], 1, i, drop = FALSE])
请注意,输出是一列矩阵的列表。我认为你不能不列出一个列表,因为每个
b[I]
的匹配数可能不同。此外,您可能希望删除drop=FALSE
,这样输出将只是一个向量列表。旁注:R不保存原始行/列编号,因此您将获得[1,]5
而不是[5,]5
。
, , 1
[,1]
[5,] 5
, , 2
[,1]
[3,] 1
, , 3
[,1]
[1,] 2
[6,] 2
lapply(seq_along(b), function(i) a[a[, 2, i] == b[i], 1, i, drop = FALSE])