2013-03-24 14 views
6

Vorrei colorare punti in un grafico a coppie basato su determinati indici di riga. Ecco il codice che ho usato per tracciare 1 variabile contro un'altra.Punti di colorazione in una trama di coppie

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

Un semplice trama coppie è qualcosa di simile:

pairs(pca[,1:3]) 

EDIT: ESEMPIO:

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

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

si dovrebbe dare un esempio riproducibile. – agstudy

+0

Ciò significa che dobbiamo vedere l'output dei tuoi dati reali o di alcuni dati fittizi che possono illustrare la trama sopra. Prova ad incollare l'output di 'dput (head (cases))' & 'dput (head (controls))' se i tuoi dati non contengono molte colonne. –

+1

Ciao! Rendi riproducibili i tuoi post dando un'occhiata a [** Come fare un ottimo esempio riproducibile **] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible- esempio) per noi per aiutarti. Grazie. – Arun

risposta

17

qualcosa di simile?

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

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

bellissimo grazie :) – bdeonovic

+0

C'è un modo per fare lo stesso per le forme? grazie – Yoav

+0

Sì, puoi fare lo stesso per le forme. – Roland

0

io non sono sicuro se la risposta @Roland s' opera in qualche versione, ma almeno nel mio Windows R 3.4.2, non è così.

Le coppie di funzioni impiegano many arguments. Alcuni di questi sono usati per indicare quale funzione mappare ai pannelli diagonale, superiore e inferiore. Per impostazione predefinita, utilizza la funzione trama (punti).

Questa funzione ha un parametro bg utilizzato per specificare il colore di riempimento degli indicatori che lo prendono, ad esempio pch = 21.

Inoltre, la mappatura dei colori può essere eseguita in modo molto più efficiente con unclass. Ad esempio, con una due-livelli fattore variabile:

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

Quindi, questo fa la magia:

pairs(data, bg=colors) 
Problemi correlati