1. ホーム
  2. r

[解決済み] テスト

2022-01-28 16:45:22

質問

これは変ですね。こんなエラーが出ます。

sort.list(y) のエラー : 'sort.list' では 'x' はアトミックでなければなりません。
リストに対して 'sort' を呼び出したことがありますか?

このコードをリスト上で実行すると

 cc3 <- as.data.frame(table(cc2))

何が問題なのでしょうか?

これはリストの先頭です。

head(cc2)   
V1
1:    174
2:    174
3:    211
4: 177106
5: 177106
6: 177106 

編集する 実行すると str(cc2) 私はこれを得る

Classes ‘data.table’ and 'data.frame':  149706 obs. of  1 variable:
$ V1:List of 149706
..$ : Named chr "174"
.. ..- attr(*, "names")= chr "V11"
..$ : Named chr "174"
 .. ..- attr(*, "names")= chr "V7"
 ..$ : Named chr "211"
  .. ..- attr(*, "names")= chr "V6"
 .. [list output truncated]
 - attr(*, ".internal.selfref")=<externalptr> 

解決方法は?

の出力から str(cc2) で、data.table 内の変数 V1 は、それ自体がリストです。つまり、cc2は長さ1のネストされたリストです。 table が呼び出す sort.list アトミックベクターを入力として必要とします。

を使ってみてください。 unlist :

cc3 <- as.data.frame(table(unlist(cc2)))

unlist は、リストコンテナから(再帰的に)要素を抽出します。そのため unlist(cc2) はベクトルを返すので、直接 table .