R:无效的下标类型“列表”
Posted
技术标签:
【中文标题】R:无效的下标类型“列表”【英文标题】:R: invalid subscript type 'list' 【发布时间】:2012-01-06 17:36:15 【问题描述】:我正在尝试使用数据集的排序列的索引。我想按一个排序列对整个数据集重新排序。
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
【问题讨论】:
【参考方案1】:使用 index.return=TRUE
进行排序的调用返回一个包含两个组件的列表:x 和 ix。使用 [2] 进行索引会返回列表的一个子集 - 仍然是一个列表。
如果您使用 [[2]] 进行索引,它应该会更好。这将返回列表中的元素。 但是使用 $ix 进行索引可能会更清晰一些。
但话又说回来,如果您只需要排序索引,您应该调用 order
而不是 sort
...
【讨论】:
+1 用于提及order
,这可能是他们想要的。
太棒了,订单效果很好;双括号也很好用,谢谢以上是关于R:无效的下标类型“列表”的主要内容,如果未能解决你的问题,请参考以下文章