R:无效的下标类型'list'

时间:2011-11-26 02:36:04

标签: list r subscript

我正在尝试使用数据集的已排序列的索引。我想通过一个已排序的列重新排序整个数据集。

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

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

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

有人建议使用取消列表,但我无法摆脱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 

1 个答案:

答案 0 :(得分:16)

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

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

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