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, ]