Correlación de Dispersión de la matriz de parcela con diferente tamaño de punto (en R)

StackOverflow https://stackoverflow.com/questions/2593643

  •  25-09-2019
  •  | 
  •  

Pregunta

Me acaba de llegar una cruz este buen código que hace que esta dispersión de la matriz de la trama:

alt text
(fuente: free.fr)

Y quería aplicar a un likret variables de escala (números enteros de 1 a 5) por lo que el punto de tallas/colores (en el triángulo inferior) se diferencian de acuerdo a la cantidad de opciones de ese tipo se produce (como el efecto de la fluctuación posible que me han dado).

Cualquier idea sobre cómo hacer esto en la base de trazado mecanismo ?

Actualización:

Me hizo la siguiente función, pero no sé cómo tienen la escala de los puntos siempre que sean "buenos", ¿qué te parece ?

panel.smooth2 <- function (x, y, col = par("col"), bg = NA, pch = par("pch"), 
                    cex = 1, col.smooth = "red", span = 2/3, iter = 3, ...) 
{
    require(reshape)
    z <- merge(data.frame(x,y), melt(table(x ,y)),sort =F)$value
    z <- z/ (4*max(z)) 

    symbols( x, y,  circles = z,#rep(0.1, length(x)), #sample(1:2, length(x), replace = T) ,
            inches=F, bg="blue", fg = bg, add = T)

    # points(x, y, pch = pch, col = col, bg = bg, cex = cex)
    ok <- is.finite(x) & is.finite(y)
    if (any(ok)) 
        lines(stats::lowess(x[ok], y[ok], f = span, iter = iter), 
            col = col.smooth, ...)
}



a1 <- sample(1:5, 100, replace = T)
a2 <- sample(1:5, 100, replace = T)
a3 <- sample(1:5, 100, replace = T)
aa <- data.frame(a1,a2,a3)


pairs(aa , lower.panel=panel.smooth2)
¿Fue útil?

Solución

Usted puede utilizar 'símbolos'(análoga a la de los métodos de 'líneas', 'abline et al.)

Este método le dará un control de grano fino sobre ambos símbolos de tamaño y color en una sola línea de código.

El uso de 'símbolos' puede establecer el tamaño del símbolo, color y forma.La forma y el tamaño son establecidos por el paso de un vector para el tamaño de cada símbolo y enlazar a cualquiera de los 'círculos', 'plazas', 'rectángulos', o 'estrellas', por ejemplo, 'estrellas' = c(4, 3, 5, 1).Se establece el Color con 'bg' y/o 'fg'.

symbols( x, y, circles = circle_radii, inches=1/3, bg="blue", fg=NULL) 

Si entiendo la segunda parte de su pregunta, usted quiere estar razonablemente seguro de que la función que se utiliza a escala de los símbolos en su parcela lo hace de una manera significativa.Los 'símbolos' función de escalas (por ejemplo) de la radios de los círculos, basado en valores en una 'z' variable (o de datos.marco de columna, etc.) En la línea de abajo, me puse el máximo símbolo de tamaño (radio) como 1/3 pulgadas, que cada símbolo, excepto el más grande tiene un radio de una fracción de menor tamaño, escala por la proporción del valor de la dat punto de vista, con el valor más grande.que uno en proporción a Es esta una buena opción?No sé, a mí me parece que el diámetro o el particular de la circunferencia puede ser mejor.En cualquier caso, eso es un cambio trivial.En suma, 'símbolos' con 'círculos' pasa en la escala de los radios de los símbolos en proporción a la 'z' coordinar--probablemente el más adecuado para las variables continuas.Me gustaría utilizar el color ('bg') para las variables y/o factores.

Una manera de usar el 'símbolos' es llamar a su función plot y pase tipo='n' que crea la parcela objeto, sino que suprime el dibujo de los símbolos, de modo que usted puede dibujar con los 'símbolos' la función siguiente.

Yo no recomendaría 'cex' para este propósito.'cex' es un factor de escala para ambos el tamaño del texto y los símbolos de tamaño, pero cual de los dos elementos de la trama que afecta depende de cuando se le pase en--si se establece a través de 'par', a continuación, actúa en la mayoría de los textos que aparecen en la trama;si se establece dentro de la "trama" de la función, a continuación, afecta a los símbolos de tamaño.

Otros consejos

Claro, solo usa cex:

set.seed(42)
DF <- data.frame(x=1:10, y=rnorm(10)*10, z=runif(10)*3) 
with(DF, plot(x, y, cex=z))

lo que te da tamaños de círculo variables. El color simplemente puede ser una cuarta dimensión.

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