web-dev-qa-db-ja.com

R:添え字タイプ 'list'が無効です

データセットのソートされた列のインデックスを使用しようとしています。データセット全体を1つの並べ替えられた列で並べ替えたいのですが。

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 
16
Peter Becich

Index .return=TRUEでソートする呼び出しは、xとixの2つのコンポーネントを含むリストを返します。 [2]を使用してインデックスを作成すると、リストのサブセットが返されます-まだリストです。

[[2]]を使用してインデックスを作成すると、より適切に機能するはずです。リストの要素を返します。しかし、$ ixを使用したインデックス付けは、おそらくもう少し明確です。

ただし、並べ替えたインデックスのみが必要な場合は、order...ではなくsortを呼び出す必要があります。

16
Tommy