向量的最小和最大连续值
Minimum and maximum sequential values of a vector
我需要找到向量的最小值和最大值,但最小值需要位于最大值之前。所以,给定向量:
v <- c (8,2,1,3,5,7,4)
最小值为“1”(第三个元素),最大值为“7”(第六个元素)。最大值 而不是 确实是 '8'(第 1 个元素),因为它出现在最小值 '1'(第 3 个元素)之前。
我查看了函数 'min' 和 'max'(以及它们的更快版本 pmin 和 pmax),但显然它们只能找到最高的最小值和最大值,没有限制地方。范围函数也是如此。
有没有人可以帮忙?
使用 which.min
您可以获得最小值的索引。
这可以用来将 v
子集化到向量的末尾。
min <- min(v)
max <- max(v[ which.min(v): length(v)])
c(min, max)
你可以这样做:
range(v[which.min(v):length(v)])
[1] 1 7
我需要找到向量的最小值和最大值,但最小值需要位于最大值之前。所以,给定向量:
v <- c (8,2,1,3,5,7,4)
最小值为“1”(第三个元素),最大值为“7”(第六个元素)。最大值 而不是 确实是 '8'(第 1 个元素),因为它出现在最小值 '1'(第 3 个元素)之前。
我查看了函数 'min' 和 'max'(以及它们的更快版本 pmin 和 pmax),但显然它们只能找到最高的最小值和最大值,没有限制地方。范围函数也是如此。
有没有人可以帮忙?
使用 which.min
您可以获得最小值的索引。
这可以用来将 v
子集化到向量的末尾。
min <- min(v)
max <- max(v[ which.min(v): length(v)])
c(min, max)
你可以这样做:
range(v[which.min(v):length(v)])
[1] 1 7