【发布时间】:2017-07-17 13:47:07
【问题描述】:
mat <- structure(list(c(1, 2, 3, 4, 5), 2, c(3, 2, 1), numeric(0), numeric(0),
numeric(0), c(1, 2, 3, 6), c(1, 2, 3, 4, 5), 1, numeric(0),
numeric(0), numeric(0), c(3, 4, 2), 3, c(1, 2, 3, 4, 5),
numeric(0), numeric(0), numeric(0), numeric(0), numeric(0),
numeric(0), 1.358, numeric(0), numeric(0), numeric(0), numeric(0),
numeric(0), numeric(0), 0.0223257970827299, numeric(0), numeric(0),
numeric(0), numeric(0), numeric(0), numeric(0), 1.493), .Dim = c(6L,
6L))
> mat
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] Numeric,5 Numeric,4 Numeric,3 Numeric,0 Numeric,0 Numeric,0
[2,] 2 Numeric,5 3 Numeric,0 Numeric,0 Numeric,0
[3,] Numeric,3 1 Numeric,5 Numeric,0 Numeric,0 Numeric,0
[4,] Numeric,0 Numeric,0 Numeric,0 1.358 Numeric,0 Numeric,0
[5,] Numeric,0 Numeric,0 Numeric,0 Numeric,0 0.0223258 Numeric,0
[6,] Numeric,0 Numeric,0 Numeric,0 Numeric,0 Numeric,0 1.493
我有一个 6x6 矩阵对象。每个单元格都包含一个数值列表。我想在mat 对象中找到索引i, j,它指示哪些单元格包含> 1 但
我尝试过使用which(length(mat) < 5 & length(mat) > 1),但没有奏效。
【问题讨论】:
-
fwiw
lengths(mat)给你一个简单的长度向量 -
所以我猜只是
which(lengths(mat) < 5 & lengths(mat) > 1, arr.ind = TRUE) -
@Sotos
lengths只会返回一个向量。这两条线将起作用:lMat <- matrix(lengths(mat), 6),然后是which(lMat > 1 & lMat < 5, arr.ind=TRUE)。 -
@Sotos
arr.ind对矢量无效 -
所以我猜是版本问题。