El código que sigue carga la librerÃas de R que vamos a usar y determina la configuración de knitr
necesaria para que el gráfico final sea dinámico:
library(knitr)
library(rgl)
knit_hooks$set(webgl = hook_webgl)
Se generan los puntos de acuerdo con las ecuaciones que se pueden ver, por ejemplo, en Izenman (2008), página 617:
n <- 1000
theta <- runif(n, 3*pi/2, 9*pi/2)
x1 <- theta*cos(theta)
x2 <- theta*sin(theta)
x3 <- runif(n, 0, 15)
datos <- cbind(x1, x2, x3)
La representación tridimensional requiere el paquete rgl
. Se representan en naranja los puntos para los que θ<6π/2 y en azul los puntos para los que θ>6π/2:
library(rgl)
colores <- rep('lightblue', n)
colores[theta < 6*pi/2] <- 'orange'
plot3d(datos, type='s', size=1.5, col=colores, axes=FALSE, xlab='', ylab='', zlab='', aspect=FALSE)
Referencia
Izenman, A. J. (2008). Modern multivariate statistical techniques. Springer.