2016-06-10 226 views
2

我是一位嘗試使用R的生物學家,我正在爲此苦苦掙扎。R中的主成分分析,ggbiplot

我試圖產生主成分分析此數據:

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,如何製作我想要的圖表。但每次我到生成雙標圖兼職,我得到的消息:

Error: Continuous value supplied to discrete scale.

這裏是我正在使用的代碼:

>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) 

誰能幫助我?

回答

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) 
0

在第一列中你的分組變量是一個整數(1,2,3),它必須是一個字符串,東西替換它的一個因素如「組1」,「組2」,「組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