Voici mon objectif: tracer la fréquence de y
en fonction de x
dans l'axe z
.
Voici mes problèmes: j'ai un tableau à deux colonnes (x
et y
) et je dois diviser x
en classes (p. Ex. 0,2 ou 0,5) et calculer le fréquence de y
pour chaque classe de x
. L'intrigue doit apparaître comme un x-y
tracé dans le plan "au sol" et la fréquence dans l'axe z
. Cela pourrait être comme une surface ou un histogramme 3D. J'ai essayé de le faire en utilisant le hist3D
fonction de plot3D
package mais je ne sais pas ce que je fais mal.
Voici un exemple de ce que j'essaie de faire:
https://www.safaribooksonline.com/library/view/r-data-visualization/9781783989508/ch06s05.html
Merci!!
En utilisant des données simulées, cela devrait vous donner ce que vous voulez. La clé est que vous devez créer vos bacs bivariés, en utilisant la fonction cut()
. Ensuite, en traitant les facteurs regroupés comme des niveaux, nous pouvons ensuite compter les combinaisons de chaque niveau de facteur en utilisant la fonction table()
comme ci-dessous:
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")