我什至不确定这是否可以使用 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 识别两个集群,事实证明这很困难。我尝试了以下
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
我期待一个数据表,其中包含可以“视为”中心列表的条目。这甚至可能吗?