R,ggbiplot

时间:2016-06-10 13:03:00

标签: r pca ggbiplot

我是一名试图使用R的生物学家,我正在努力解决这个问题。

我正在尝试为这些数据生成主成分分析:

1,26.96,37.31,35.74
1,24.27,38.48,37.24
1,23.58,35.64,40.78
1,24.29,35.72,39.99
1,26.43,37.72,35.85
1,28.80,46.96,24.24
2,30.05,44.86,25.09
2,26.59,47.24,26.17
2,30.55,45.70,23.75
2,25.95,48.77,25.28
2,23.31,50.11,26.59
2,31.29,43.88,24.82
3,14.70,37.65,47.65
3,17.11,36.14,46.75
3,15.83,36.83,47.34
3,13.77,38.39,47.84
3,17.76,35.02,47.22
3,12.90,38.29,48.81

第一列对应于组变量,我有3组。

我看到HERE,如何制作我想要的图表。但是每当我到达生成双标图部分时,我都会收到消息:

  

错误:提供给离散比例的连续值。

以下是我正在使用的代码:

>data(GPA2)
>head(GPA2, 3) 
>log.ir <- log(GPA2[, 2:4])
>ir.group <- GPA2[, 1]
>ir.pca <- prcomp(log.ir,center = TRUE,scale = TRUE) 
>print(ir.pca)
>plot(ir.pca, type = "l")
>summary(ir.pca)
>predict(ir.pca, newdata=tail(log.ir, 2))
>g <- ggbiplot(ir.pca, obs.scale = 1, var.scale = 1, groups = ir.group, ellipse = TRUE, circle = TRUE)
>g <- g + scale_color_discrete(name = '')
>g <- g + theme(legend.direction = 'horizontal', legend.position = 'top')
>print(g)

任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

您的分组变量必须是非数字因素

library(ggbiplot)
GPA2 <- data.frame(
  ir.group = sample(c(1,2,3),10, replace = TRUE),
  x = sample(1:10),
  y = sample(1:10),
  z = sample(1:10)
)

data(GPA2)
head(GPA2, 3) 
log.ir <- log(GPA2[, 2:4])
ir.group <- GPA2[, 1]
ir.pca <- prcomp(log.ir,center = TRUE,scale = TRUE) 
print(ir.pca)
plot(ir.pca, type = "l")
summary(ir.pca)
predict(ir.pca, newdata=tail(log.ir, 2))
g <- ggbiplot(ir.pca, obs.scale = 1, var.scale = 1, groups = as.factor(ir.group), ellipse = TRUE, circle = TRUE)
g <- g + scale_color_discrete(name = '')
g <- g + theme(legend.direction = 'horizontal', legend.position = 'top')
print(g)

答案 1 :(得分:0)

第一列中的分组变量是一个整数(1,2,3),它必须是一个字符串,用“group 1”,“group 2”,“group 3”之类的东西替换它(没有“”)。您的数据将如下所示:

group 1,26.96,37.31,35.74
group 1,24.27,38.48,37.24
group 1,23.58,35.64,40.78
group 1,24.29,35.72,39.99
group 1,26.43,37.72,35.85
group 1,28.80,46.96,24.24
group 1,30.05,44.86,25.09
group 2,26.59,47.24,26.17
group 2,30.55,45.70,23.75
group 2,25.95,48.77,25.28
group 2,23.31,50.11,26.59
group 2,31.29,43.88,24.82
group 3,14.70,37.65,47.65
group 3,17.11,36.14,46.75
group 3,15.83,36.83,47.34
group 3,13.77,38.39,47.84
group 3,17.76,35.02,47.22
group 3,12.90,38.29,48.81