Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R kmeans数据点_R_Statistics_K Means_Correspondence - Fatal编程技术网

R 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 我可以

我使用以下内容执行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$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的一个绘图包,它似乎包括刷牙作为一项功能——正如我所说,我还没有使用它。我真的不想找到一个簇中方差最大的点的矩阵行,这只是一个帮助澄清的示例。我想找到任何点的矩阵行。那么为什么不勾选它呢什么时候给出了你想要的答案???一开始没有意识到这就是我想要的地图!