17

我正在尝试使用数据集的排序列的索引。我想按一个排序列对整个数据集进行重新排序。

area.sort<-sort(xsample$area1, index.return=TRUE)[2]

输出是一个列表,所以我不能用它来索引整个数据集。

Error in xj[i] : invalid subscript type 'list'

有人建议使用 unlist 但我无法摆脱ix*. 有任何想法吗?谢谢

> area.sort<-unlist(area.sort)

 ix1   ix2   ix3   ix4   ix5   ix6   ix7   ix8   ix9  ix10  ix11  ix12  ix13 
  45    96    92    80    53    54    24    21    63    81    40    66    64 
4

1 回答 1

16

使用索引排序的调用。return=TRUE返回一个包含两个组件的列表:x 和 ix。使用 [2] 进行索引会返回列表的一个子集 - 仍然是一个列表。

如果您使用 [[2]] 进行索引,它应该会更好。这将返回列表中的元素。但是使用 $ix 进行索引可能更清晰一些。

但是话又说回来,如果您只需要排序索引,则应该调用order而不是sort...

于 2011-11-26T02:56:31.237 回答