これがdata.tableで可能かどうかさえわかりません。次のようなデータセットがあります。これはデータ フレームですが、後で data.table に変換します。x
id xcord ycord
a 2 3
a 3 4
a 3 3
a 9 10
a 8 9
b 1 3
b 1 2
b 8 19
b 7 21
ID ごとに 2 つのクラスターを識別したいのですが、それは難しいことがわかっています。私は次のことを試しました
x = x[,list(x1 = kmeans(xcord,centers=2)$centers, y1 = kmeans(ycord,centers=2)$centers,by = id]
しかし、次のエラーメッセージが表示されました。
All items in j=list(...) should be atomic vectors or lists. If you are trying something like j=list(.SD,newcol=mean(colA)) then use := by group instead (much quicker), or cbind or merge afterwards.
Calls: [ -> [.data.table
Execution halted
センターのリストとして「扱う」ことができるエントリを含むデータテーブルを期待しています。これは可能ですか?