2013-03-24 14 views
6

Chciałbym pomalować punkty na wykresie par opartym na pewnych indeksach wierszy. Oto kod, którego użyłem do wykreślenia 1 zmiennej na inną.Punkty kolorowania na wykresie par

cases<-which(rownames(data_no_na) %in% colnames(tumor_data)) 
controls<-which(rownames(data_no_na) %in% colnames(control_data)) 

plot(y=range(pca[,1]),x=range(pca[,2]),type='n',xlab="Principle Component 2",ylab="Principle Component 1", main="Iterative Thresholding Sparse PCA") 

points(y=pca[cases,1], x=pca[cases,2], col = 'red') 
points(y=pca[controls,1], x=pca[controls,2], col = 'blue'); 

Prosty pary działka jest coś takiego:

pairs(pca[,1:3]) 

EDIT: Przykład:

cases<-1:10 
controls<-11:20 

pca<-matrix(c(rnorm(3*10,0,1),rnorm(3*10,5,1)),nrow=20,ncol=3) 
+3

Należy dać powtarzalne przykład. – agstudy

+0

Co oznacza, że ​​musimy zobaczyć dane wyjściowe rzeczywistych danych lub niektórych danych fikcyjnych, które mogą zilustrować powyższy wykres. Spróbuj wkleić dane wyjściowe 'dput (head (cases))' & 'dput (head (control))' jeśli twoje dane nie zawierają wielu kolumn. –

+1

Cześć! Spraw, aby Twój post był powtarzalny, patrząc na [** Jak zrobić świetny, powtarzalny przykład **] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible- przykład), abyśmy mogli Ci pomóc. Dziękuję Ci. – Arun

Odpowiedz

17

coś takiego?

cols <- character(nrow(iris)) 
cols[] <- "black" 

cols[iris$Species %in% c("setosa","versicolor")] <- "blue" 
cols[iris$Species == "virginica"] <- "red" 
pairs(iris,col=cols) 
+0

piękne dziękuję :) – bdeonovic

+0

Czy istnieje sposób zrobić to samo dla kształtów? dzięki – Yoav

+0

Tak, możesz zrobić to samo dla kształtów. – Roland

0

Nie jestem pewien, czy odpowiedź @Roland działa w jakiejś wersji, ale przynajmniej w moim Windows R 3.4.2, nie ma.

Pary funkcji pobierają many arguments. Niektóre z nich są używane do wskazania funkcji do odwzorowania ukośnych, górnych i dolnych paneli. Domyślnie używa funkcji wykresu (punkty).

Ta funkcja ma parametr bg używany do określenia koloru wypełnienia znaczników, które go wykonują, np. pch = 21.

Mapowanie kolorów można wykonać znacznie efektywniej przy użyciu klasy Unclass. Na przykład, z dwóch poziomów czynnika zmiennej:

colors <- c('black', 'red')[unclass(factor_variable)] 

Wtedy to robi Magic:

pairs(data, bg=colors) 
Powiązane problemy