总是选择向量的中间元素

rno*_*ian 4 r vector subset

我想知道如何始终选择从小到大排序的数字向量中的中间元素?

当元素数量为偶数时,则需要中间两个元素中较小的元素。这是一个具有所需输出的示例。

g1 = c(8,12,16,24)
g2 = c(8,12,16,24,32)
g3 = c(8,12)
g4 = 8

# Desired Output:
g1 = 12; g2 = 16, g3 = 8, g4 = 8
Run Code Online (Sandbox Code Playgroud)

akr*_*run 5

尝试ceiling除以length2

f1 <- function(vec) vec[ceiling(length(vec)/2)]
Run Code Online (Sandbox Code Playgroud)

-测试

> f1(g1)
[1] 12
> f1(g2)
[1] 16
> f1(g3)
[1] 8
> f1(g4)
[1] 8
Run Code Online (Sandbox Code Playgroud)