R语言 为什么矩阵中有重复的行名会显示为点和数字?

k2fxgqgv  于 2023-04-03  发布在  其他
关注(0)|答案(1)|浏览(158)

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

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,所以我想我也在寻找一种允许这种情况的方法。

6pp0gazn

6pp0gazn1#

矩阵中允许有重复的行名称,但 Dataframe 中不允许。在RStudio中查看时,矩阵被传递给View()函数,在该函数中它被强制转换为 Dataframe 。作为强制转换的一部分,行名称被重命名,以使它们是唯一的且语法有效。但是,原始矩阵对象不变。

相关问题