Cómo hacer 3D histograma en R

Este es mi meta: la Trama de la frecuencia de y según x en el z eje.

Estos son mis problemas: tengo dos columnas de la matriz (x y y) y la necesidad de dividir x en clases (p.ex. 0.2 ou 0.5) y calcular la frecuencia de y para cada clase de x. La trama debe aparecer como un x-y parcela en el “suelo” del plan y la frecuencia en la z eje. Podría ser como una superficie o un histograma 3D. Traté de hacer uso de la hist3D función de plot3D paquete, pero no sé lo que estoy haciendo mal.

Este es un ejemplo de lo que estoy tratando de hacer:

https://www.safaribooksonline.com/library/view/r-data-visualization/9781783989508/ch06s05.html

Gracias!!

Los colores en este ejemplo se refleja en la altura y son redundantes. Usted podría hacer un 2d + color “mapa de calor” y dar la misma información, sin ocultar una parte de los datos detrás de barras.
gracias por la sugerencia. Voy a probar el “mapa de calor”.

OriginalEl autor José Ricardo | 2015-05-31

1 respuesta

  1. 21

    El uso de algunos datos simulados, este debe obtener lo que desea. La clave es que tienes que crear tu bivariado de las bandejas, se realiza mediante la cut() función. A continuación, el tratamiento de la binned factores como los niveles de podemos, a continuación, el recuento de las combinaciones de cada uno de los niveles del factor de uso de la table() función como la siguiente:

    library(plot3D)
    
    ##  Simulate data:
    set.seed(2002)
    x <- rnorm(1000)
    y <- rnorm(1000)
    
    ##  Create cuts:
    x_c <- cut(x, 20)
    y_c <- cut(y, 20)
    
    ##  Calculate joint counts at cut levels:
    z <- table(x_c, y_c)
    
    ##  Plot as a 3D histogram:
    hist3D(z=z, border="black")
    
    ##  Plot as a 2D heatmap:
    image2D(z=z, border="black")

    Cómo hacer 3D histograma en R

    Gracias, hombre. He utilizado el código en mayo de datos y funciona bastante bien, pero como @thelatemail dijo, tal vez un “mapa de calor” es la mejor opción.
    En este caso, yo sin duda estaría de acuerdo. 🙂 He editado mi respuesta al documento que como una opción:
    R. Stevens, de esta manera se ve mucho mejor! El análisis de las nuevas parcelas estoy pensando en algo un poco diferente, tal vez usted me puede ayudar con esto: quiero hacer otra parcela de uso independiente “histogramas” para cada x clase trazan todos juntos. Sólo para aclarar: el somatory de cada columna en su ejemplo debe ser de 1. En este caso, no va a ser super altos valores en la escala, pero un poco más suave “mapa de calor” que varían de 0 a 1.
    No estoy seguro de entender lo que usted está pidiendo. ¿Qué entiende usted por “somatory?” Supongo que usted quiere los valores de escalado de alguna manera, pero por el máximo de la cuenta conjunta a través de todas las tablas o columnas? Y ¿qué significa “suave” mapa de calor? Puede variar su recipiente ancho para crear más finamente graduada histogramas si eso es lo que te gusta? O usted podría tomar la resultante 2D mapa de calor y interpolar es así?
    Puede. Una forma sencilla es convertir la matriz es el objeto de una trama y de interpolar para una mejor cuadrícula. Consulte mi respuesta aquí para un buen punto de partida.

    OriginalEl autor Forrest R. Stevens

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *