2015-11-21 3 views
0

У меня есть эти данные:Отображение PCA с различными цветами

Desc  ALL1 ALL2 AML1 AML2 
Gene1 -214 -342 87 -172 
Gene2 -153 -200 -248 -122 
Gene3 -58 41 262 38 
Gene4  88 328 295 31 

Мы имеем два вида тканей AML и ALL lukemia Я хочу, чтобы применить PCA к этим данным, так что я пытался сделать это:

pca <- prcomp(x = all_aml_train_gct) 

Теперь я хочу, чтобы построить его:

biplot(fit) 

я получаю что-то вроде этого: test plot

Как я могу покрасить сюжет, чтобы отличить ВСЕ и AML?

ответ

0

Одним из вариантов является использование пакета ggbiplot, который обеспечивает гораздо большую гибкость в отношении графики. Я предоставил некоторый код ниже, демонстрирующий его возможности. Кроме того, важно масштабировать переменные при проведении PCA, что я не уверен, что вы сделали или нет, а просто хотели дважды проверить.

data("mtcars") 

mtcars 

# using cylinder as grouping variable, and weight and hp for example 
cyl <- mtcars$cyl 
cyl <- as.factor(cyl) 
xvars <- mtcars[, c(4,7)] 

# Need to scale variables for PCA due to the fact that variables with large variance will impact PCA 
xvars.scaled <- scale(xvars) 

cars.pca <- prcomp(xvars.scaled) 

# Create base plot 
g.plot <- ggbiplot(cars.pca, obs.scale=1, var.scale=1, 
       groups=cyl, ellipse=TRUE) 

# Add in color 
g.plot <- g.plot+ scale_color_discrete(name='') 

# add in legend 
g.plot <- g.plot+ theme(legend.direction='horizontal', 
      legend.position='bottom') 

g.plot 

И результат:

enter image description here

Более тщательный пример и учебник можно найти по следующей ссылке: http://www.r-bloggers.com/computing-and-visualizing-pca-in-r/

Я надеюсь, что это помогает!

Смежные вопросы