R kmeans数据点
我使用以下内容执行kmeans分析:R kmeans数据点,r,statistics,k-means,correspondence,R,Statistics,K Means,Correspondence,我使用以下内容执行kmeans分析: km = kmeans(mat2, centers = 4) 我还使用库(fpc)绘制了kmeans分析图,以获得如下可视化结果: plotcluster(mat2, km$cluster) 结果如下: mat2的每一行对应于绘图中的一个点。我为矩阵中的每一行指定了一个名称,名称如下: rownames(mat2) = names #names is a vector corresponding to the rows of mat2 我可以
km = kmeans(mat2, centers = 4)
我还使用库(fpc)
绘制了kmeans分析图,以获得如下可视化结果:
plotcluster(mat2, km$cluster)
结果如下:
mat2的每一行对应于绘图中的一个点。我为矩阵中的每一行指定了一个名称,名称如下:
rownames(mat2) = names #names is a vector corresponding to the rows of mat2
我可以通过以下属性找到矩阵中每一行的成员资格:
km$cluster
这将给出矩阵中每一行的名称,后跟绘图中相应的整数。但是,我想访问更多数据
如何从这些聚类点访问更多数据?例如,我想找到绘图中的整数与矩阵中的行之间的对应关系。为了澄清,回答这个问题可以让我知道矩阵中的哪一行对应于图中最高的2?一旦我知道了哪些整数对应于矩阵中的哪些行,那么我就有了矩阵中每一行的名称,并且可以给出有意义的解释
我还想找出图中的一个点和它所属的簇中心之间的距离度量。我能得到绘图中的(x,y)坐标与矩阵中的行之间的对应关系吗?我是否可以获得一个交互式GUI,以便在单击绘图中的群集点时,可以看到上面描述的更多数据?我愿意使用不同的库进行绘图。概括为两个问题:
如何获得绘图中的整数与矩阵中的行之间的对应关系
是否有一个现有的软件包或工具可以让我更轻松地完成这项工作
非常感谢您的帮助 这回答了你的一些问题,但其中有很多。如果要与绘图交互以识别点,可以查看?identify
。下面是处理您要查找的特定行的答案。如果你想问关于交互式GUI的问题,也许可以发布一个具体的问题
mat <- matrix(rnorm(160), ncol=2)
km <- kmeans(mat, centers=4)
df <- as.data.frame(cbind(mat, km$cluster))
names(df) <- c("Var1", "Var2", "cluster")
#Get the row of df with highest Var1 and cluster == 2
which(df$Var1 == max(df$Var1[df$cluster==2]))
# 76
#Use this to extract the row
df[which(df$Var1 == max(df$Var1[df$cluster==2])),]
#You can subset you data based on one of the variables
#Get the rows with cluster == 2
df.2 <- df[df$cluster == 2,]
mat您正在问几个离散的问题,因此单个答案无法涵盖所有问题。考虑精炼?底部的问题澄清了主要问题。什么是从代码> STR(Mat2)< /代码>的输出?矩阵的尺寸是291×31。然后每一行都有一个名称。“获取绘图中的整数和矩阵中的行之间的对应关系”可以使用一种称为“刷”的技术来完成。我在S-Plus中使用了这种技术,效果很好,但在R中没有[是R的一个绘图包,它似乎包括刷牙作为一项功能——正如我所说,我还没有使用它。我真的不想找到一个簇中方差最大的点的矩阵行,这只是一个帮助澄清的示例。我想找到任何点的矩阵行。那么为什么不勾选它呢什么时候给出了你想要的答案???一开始没有意识到这就是我想要的地图!