我需要一些帮助来确定向量中的多个最小值。让我们假设,我有一个向量 x:
x<-c(1,10,2, 4, 100, 3)
并想确定最小的 3 个元素的索引,即 1、2 和 3。我需要索引,因为我将使用索引来访问另一个向量中的相应元素。当然,排序将提供最小值,但我想在排序之前知道它们实际出现的索引。
最佳答案
为了找到索引试试这个
which(x %in% sort(x)[1:3]) # this gives you and index vector
[1] 1 3 6
这表示第一个、第三个和第六个元素是向量中的前三个最低值,以查看这些值是什么:
x[ which(x %in% sort(x)[1:3])] # this gives the vector of values
[1] 1 2 3
要不就
x[c(1,3,6)]
[1] 1 2 3
如果您有任何重复值,您可能希望先选择唯一值,然后对它们进行排序以找到索引,就像这样(@Jeffrey Evans 在他的回答中建议)
which(x %in% sort(unique(x))[1:3])
关于r - 确定 R 中向量的最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13458702/