我已经做了一些成对的计算并将它们存储在一个矩阵中。现在我想用一些组标签来标记每行和每列。
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,所以我想我也在寻找一种允许这种情况的方法。
1条答案
按热度按时间6pp0gazn1#
矩阵中允许有重复的行名称,但 Dataframe 中不允许。在RStudio中查看时,矩阵被传递给
View()
函数,在该函数中它被强制转换为 Dataframe 。作为强制转换的一部分,行名称被重命名,以使它们是唯一的且语法有效。但是,原始矩阵对象不变。