从数据中找出n个最小值?

时间:2015-09-03 17:35:10

标签: r

如何自动获取数据的3个最小值?

数据:

data <- c(4,3,5,2,2,1,1,5,6,7,8,9)
[1] 4 3 5 2 2 1 1 5 6 7 8 9

使用min()函数只返回1个值,我想从数据中获得3个最小值。

min(data)
[1] 1

我可以从数据中获得这个吗?

[1] 1 1 2

2 个答案:

答案 0 :(得分:3)

只需获取有序矢量的前三个值

> sort(data)[1:3]
[1] 1 1 2

另一个替代方法是head函数,它显示R对象的第一个n值,因此对于三个最高数字,您需要head一个已排序的向量

> head(sort(data), 3)
[1] 1 1 2

...但您可以使用head可能的任何其他R对象。

如果您对标记k%最低值的上限的值感兴趣,请使用quantile函数

> quantile(data, 0.1)
10% 
1.1 

答案 1 :(得分:1)

data <- c(4,3,5,2,2,1,1,5,6,7,8,9)
sort(data,decreasing=F)[1:3]