K表示R中的聚类 - 忽略行id

时间:2015-07-24 09:11:13

标签: r

我的数据框如下:

X1      X2         X3
3   102.20000   26.07667 
4   115.00000   25.12500
5   36.70000    35.05545

其中列X1表示行的唯一标识符,而X2,X3是特征

我想在执行k表示对数据进行聚类之前执行缩放,

 mydata <- scale(mydata)


  X1               X2            X3
-11715.6     -12.2200734    -9.7826627
-11714.6       0.5799266    -10.7343294
-11713.6      -77.7200734   -0.8038748

我不希望列X1缩放,但希望它保留在数据帧上。有办法吗?

1 个答案:

答案 0 :(得分:4)

您可以通过rownames将唯一标识符标记到数据框行。

rownames(mydata) = mydata$X1
mydata$X1 = NULL
mydata = scale(mydata)

如果您想对缩放数据执行k-means,我只需将行名称作为标识符进行任何分析。您可以随时使用mydata$X1 = rownames(mydata)将其放回原位。