首页 > 解决方案 > R为什么带有重复/重复行名的矩阵会出现点和数字?

问题描述

我进行了一些成对计算并将它们存储在矩阵中。现在我想使用一些组标签来标记每一行和每一列。

name <- c("one name", "two name", "three name", "four name")
group <- c("group a", "group a", "group b", "group b")
groups <- data.frame(names = name, groups = group)

    z <- matrix(c(1,0,0.2,0,
                  0,1,0,1,
                  .02,0.4,1,0,
                  0,.5,0,1),
            nrow=4,
            dimnames=list(name,name))


    z <- as.matrix(z)
    rownames(z) <- groups$groups
    colnames(z) <- groups$groups

当我在 Rstudio 中查看矩阵时,我将其视为:

这是为什么?对我以后的计算有影响吗?连接成点并添加数字作为后缀的空格怎么样,我可以避免这种情况或将后缀更改为特定的字母或符号吗?

编辑:现在,当我继续进行分析时,我已经使用library(factoextra). fviz_cluster不允许重复的row.names,所以我想我也在寻找一个允许这样做的hack。

标签: rmatrixrstudiorowname

解决方案


矩阵中允许重复的行名,但数据框中不允许出现重复的行名。在 RStudio 中查看时,矩阵被传递给函数,在该View()函数中它被强制转换为数据框。作为强制的一部分,行名称被重命名,因此它们是唯一的并且在语法上有效。然而,原始矩阵对象没有改变。


推荐阅读