Pregunta

**Edit:**lo siento, pero la situación podría ser un poco más complejo de lo que me han demostrado.Sin embargo, tanto de los scripts de trabajo, aunque la primera no puede ser tan clara para gran conjunto de datos debido al punto de solapamiento!Muchas gracias Sacha!

Me gustaría mostrar primero los pares de varias variables, y luego superponer los datos seleccionados del mismo conjunto de datos.Generalmente, la superponer puede ser logrado mediante par(new=T) como este:

h<-rnorm(nc)  # this variable was used for conditioning
x<-rnorm(nc)
y<-rnorm(nc)
z<-rnorm(nc)
m<-cbind(x,y,z)
pairs(m)
par(new=T)
pairs(m[h>0.7,],col="red")

Sin embargo, parece que el par() configuración no funciona para tal uso.

Entonces, probablemente entramado de la biblioteca podría ayudar, ex. splom(), pero no sé si realmente funciona, y cómo.Podría alguien dar algunas sugerencias?

¿Fue útil?

Solución

Supongo paris debe ser pairs?El pairs la función no tiene un add argumento o así, es probable que también no ser trivial, ya que la parcela tiene 9 paneles (simplemente haciendo points se parcela en el último panel).pero no es difícil hacer lo que quiere en una sola parcela de uso col:

nc <- 100
set.seed(1)
x<-rnorm(nc)
y<-rnorm(nc)
z<-rnorm(nc)
m<-cbind(x,y,z)

cols <- ifelse(x>0.7,"red","black")
pairs(m,col=cols)

enter image description here

Editar:

Otra cosa que puedes hacer en pairs es en realidad la función que usted desea hacer en cada panel.Por defecto, este es points, pero se puede extender para incluir algunas condiciones:

nc <- 100

X<-rnorm(nc)
Y<-rnorm(nc)
Z<-rnorm(nc)
m<-cbind(X,Y,Z)

panelfun <- function(x,y,foo=X,...){
    points(x[foo<0.7],y[foo<0.7],col="black",...)
    points(x[foo>0.7],y[foo>0.7],col="red",...)
}

pairs(m,panel=panelfun)

Esto le da la misma imagen, como antes (bien diferentes puntos porque yo no establecer una semilla).Simplemente haciendo que el color del vector sería más fácil de lograr esto, pero usted puede hacer la función del panel tan grande como usted quisiera.

También, la ... permitir que otros argumentos que se pasan a la points función:

pairs(m,panel=panelfun,pch=16)

Otros consejos

lattice::splom funciona bien.El color de indización debe ser impulsado por 1 siendo R la indexación basada en 1 en lugar de partir de cero y la lógica de los vectores de obtener forzado como 0 y 1.

library(lttice)
nc=100; h<-rnorm(nc)  
x<-rnorm(nc)
y<-rnorm(nc)
z<-rnorm(nc)
m<-cbind(x,y,z)
splom(m, col=c("blue", "red")[1+(h>0.7)])

enter image description here

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top