我正在尝试使用以下函数http://www.r-bloggers.com/using-r-two-plots-of-principal-component-analysis/
我的工作如下:
data(iris)
df <- iris[,1:4]
variable.groups <- c(rep(1,50), rep(2,50), rep(3,50))
library(reshape2)
library(ggplot2)
pca <- prcomp(df, scale=TRUE)
melted <- cbind(variable.groups, melt(pca$rotation[,1:4]))
我收到错误说
Error in data.frame (..., check.names=FALSE): arguments imply differing number of rows: 150, 16
我基本上不明白,是上面链接的融化,有什么想法,我怎么能设置虹膜数据相同?
答案 0 :(得分:2)
快速回答:
variable.groups
需要长度为4.所以这解决了它:
variable.groups <- c(1,2,3,4) #or any other 4 classes
答案很长:
将您的代码与http://www.r-bloggers.com/using-r-two-plots-of-principal-component-analysis/处的代码进行比较我认为您正在混合sample.groups
和variable.groups
。
从那篇文章中取data
它有以下几个方面:
> dim(data)
[1] 50 70
所以sample.groups
和variable.groups
确实具有以下长度:
> length(sample.groups)
[1] 50
> length(variable.groups)
[1] 70
在您的代码中df
和variable.group
确实有以下维度:
> dim(df)
[1] 150 4
> length(variable.groups)
[1] 150
因此,与您引用的代码相比,variable.groups
的长度应为4.