我想知道是否有办法根据向量中的位置提取值,例如,我有一个包含两个向量的数据框,我将它们从原始数据中按 V1 分组,按 V2 分组,很像 ORDER SQL 中的 BY。当我尝试取出每个 V1 组类型的 3rd Min 时,我的问题出现了。
有序数据框...
V1 V2
Ford 18
Ford 16
Ford 15
Ford 14
Ford 12
**Ford 5**
Ford 2
Ford 1
Nisan 10
Nisan 9
Nisan 8
Nisan 7
Nisan 6
**Nisan 5**
Nisan 4
Nisan 3
Toyota 20
Toyota 19
Toyota 15
Toyota 12
Toyota 11
**Toyota 10**
Toyota 6
Toyota 2
结果我想要在新数据框中,每个变量的第 3 个最小值...
V1 V2
Ford 5
Nisan 5
Toyota 10
提前致谢。
最佳答案
使用基础 R 你可以做类似的事情
aggregate(V2 ~ V1, df[order(df$V2), ], `[`, 3L)
# V1 V2
# 1 Ford 5
# 2 Nisan 5
# 3 Toyota 10
或者(根据@akruns 评论)使用
ave
df[with(df, ave(V2, V1, FUN = order)) == 3L,]
关于R编程数据框——根据位置返回值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30034225/