从多个范围中选择多个最大值
selecting multiple max values from multiple ranges
我希望在不使用循环的情况下使用来自单个 table 的多个范围来查找多个最大值。
很难解释,但这里有一个例子:
list of value <- c(100, 110, 54, 64, 73, 23, 102)
beginning_of_max_range <- c(1, 2, 4)
end_of_max_range <- c(3, 5, 6)
输出
110, 110, 73
- 最大(100, 110, 54)
- 最大(110, 54, 64)
- max(64, 73, 23)
您可以使用 mapply
-
list_of_value <- c(100, 110, 54, 64, 73, 23, 102)
beginning_of_max_range <- c(1, 2, 4)
end_of_max_range <- c(3, 5, 6)
mapply(function(x, y) max(list_of_value[x:y]), beginning_of_max_range, end_of_max_range)
#[1] 110 110 73
我们创建一个从 beginning_of_max_range
到 end_of_max_range
的序列,从 list_of_value
中对其进行子集化,并从每对中得到 max
。
我希望在不使用循环的情况下使用来自单个 table 的多个范围来查找多个最大值。
很难解释,但这里有一个例子:
list of value <- c(100, 110, 54, 64, 73, 23, 102)
beginning_of_max_range <- c(1, 2, 4)
end_of_max_range <- c(3, 5, 6)
输出
110, 110, 73
- 最大(100, 110, 54)
- 最大(110, 54, 64)
- max(64, 73, 23)
您可以使用 mapply
-
list_of_value <- c(100, 110, 54, 64, 73, 23, 102)
beginning_of_max_range <- c(1, 2, 4)
end_of_max_range <- c(3, 5, 6)
mapply(function(x, y) max(list_of_value[x:y]), beginning_of_max_range, end_of_max_range)
#[1] 110 110 73
我们创建一个从 beginning_of_max_range
到 end_of_max_range
的序列,从 list_of_value
中对其进行子集化,并从每对中得到 max
。