1

これが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

センターのリストとして「扱う」ことができるエントリを含むデータテーブルを期待しています。これは可能ですか?

4

1 に答える 1