R语言 如何获取数组元素的索引

5w9g7ksd  于 2023-11-14  发布在  其他
关注(0)|答案(3)|浏览(143)

假设我在R中有一个数组:c(10, 7, 4, 3, 8, 2)在排序时,这将是:c(2, 3, 4, 7, 8, 10)
在R中返回原始数组中已排序数组元素的索引的最佳方法是什么?我正在寻找这样的输出:6(索引2),4(索引3),3(索引4),2(索引7),5(索引8),1(索引10)

o3imoua4

o3imoua41#

您正在查找的函数是order

> x
[1] 10  7  4  3  8  2
> order(x)
[1] 6 4 3 2 5 1

字符串

fnatzsnv

fnatzsnv2#

sort具有index.return参数,默认情况下为FALSE

x <- c(10,7,4,3,8,2)
sort(x, index.return=TRUE) #returns a list with `sorted values` 
#and `$ix` as index.
#$x
#[1]  2  3  4  7  8 10

#$ix
#[1] 6 4 3 2 5 1

字符串
您可以通过以下方式提取index

sort(x, index.return=TRUE)$ix
#[1] 6 4 3 2 5 1

j5fpnvbx

j5fpnvbx3#

如果你想得到which返回的相同的数组索引,你应该使用arrayInd函数:

array = matrix(rnorm(36),nrow=6)
sortIndex = sort(array, index.return=TRUE)$ix
array_indices = arrayInd(sortIndex,dim(array),dimnames(array),useNames = TRUE)

字符串

相关问题