0

我是 R 的初学者,使用 prcomp 执行 PCA,除了默认行号之外,无法获得任何标记的点。我的档案是不同地点的物种存在和缺失。例如在这里,我设置了一个小测试文件,我想使用 SITES 列中的标签来标记我在 biplot 中的点。

> head(testfile2)
# A tibble: 6 x 7
  SITES   sp1   sp2   sp3   sp4   sp5   sp6
  <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 A1        1     1     1     1     1     1
2 A2        0     1     1     1     1     0
3 B1        0     1     1     1     1     1
4 C         1     1     1     1     1     0
5 D         0     0     1     1     0     1
6 E         1     0     1     1     1     0

然后当我尝试设置行名时,我收到以下错误消息

> row.names(testfile2)<-testfile2[,1]
Error in `.rowNamesDF<-`(x, value = value) : invalid 'row.names' length
# In addition: Warning message:
Setting row names on a tibble is deprecated. 

但是我可以成功运行 PCA,但没有我需要 prcomp biplot的标签

我检查了行名,没有一个是重复的。我在设置行名时做错了什么?我搜索了 stackoverflow 和其他网站,并看到了类似的问题。我已经尝试了建议的解决方案,但未能解决问题。我希望这是显而易见的事情,但经过长时间的搜索,我被难住了。

解决方案是在 PRCOMP 和 BIPLOT 指令模型之间设置行名 <-prcomp(testfile2[,-1],scale=TRUE)

摘要(型号)

行名<-testfile2$SITES

双标图(模型)

4

0 回答 0