R 函数返回满足最小和最大范围的矩阵行

R 函数返回满足最小和最大范围的矩阵行,r,R,具有以下矩阵: [,1] [,2] [,3] [,4] [1,] 231 14 517 310 [2,] 1 154 18 21 [3,] 121 6 198 23 我只想得到每行的最小范围在2之间的行 和30 每行的最小范围: [1] 79 [2] 3 [3] 17 [1] 503 [2] 153 [3] 192 所以我们只得到[2]和[3] 最大范围在0到160之间 每行的最大范围: [1]

具有以下矩阵:

      [,1] [,2] [,3] [,4] 
  [1,]  231   14  517  310 
  [2,]    1  154   18   21 
  [3,]  121    6  198   23 
我只想得到每行的最小范围在2之间的行 和30

每行的最小范围:

 [1] 79
 [2]  3
 [3] 17
  [1] 503
  [2] 153
  [3] 192
所以我们只得到[2]和[3]

最大范围在0到160之间 每行的最大范围:

 [1] 79
 [2]  3
 [3] 17
  [1] 503
  [2] 153
  [3] 192
最后我们只得到满足这两个条件的[2]。 你能提供一个R语言函数来生成这个结果吗

问候,, Dimitris设置数据

m <- read.table(text="231   14  517  310
                        1  154   18   21
                      121    6  198   23")

m <- as.matrix(m)
m设置数据

m <- read.table(text="231   14  517  310
                        1  154   18   21
                      121    6  198   23")

m <- as.matrix(m)

m下面是一个使用函数
dist()的解决方案


m下面是一个使用函数
dist()的解决方案

m
m <- matrix(
  c(231, 14, 517, 310, 
    1,  154,   18,   21, 
  121,    6,  198,   23 ), 3, byrow=TRUE)


mi <- apply(m, 1, function(x) min(dist(x)))
ma <- apply(m, 1, function(x) max(dist(x)))

m[mi > 2 & mi < 30 & ma > 0 & ma < 160, ]