Últimas entradas de Victor A.Rico (ver todo)
- Medidas Estadísticas de Dispersión Relativa - junio 11, 2024
- Modelos SARIMA(Arima Estacionales).¿Qué son y cómo usarlos para Predecir? - enero 4, 2024
- ¿Qué es el RUIDO BLANCO ? Econometría en R - junio 21, 2023
En este tutorial vemos como hacer GRÁFICOS en 3 DIMENSIONES (3D) en R studio. Este tipo de gráficos son útiles cuando queremos ver la relación existente entre 3 variables. Por ejemplo cuando estamos desarrollando un Modelo de Regresión Múltiple. Aquí hago una introducción teórica y luego os presento algunas funciones que podéis usar en R para realizar estos gráficos. Más abajo tienes el código R del vídeo para copiarlo
CÓDIGO R DEL VÍDEO
#DIAGRAMA DE DISPERSIÓN 1
#EJEMPLO
install.packages("scatterplot3d")
library(scatterplot3d)
#set.seed(2)
# EJEMPLO 1
VENTAS <- c(10,6,5,12,10,15,5,12,17,20) # Y
PRECIO <- c(1.30,2,1.7,1.5,1.6,1.2,1.6,1.4,1,1.10) #X
PUBLICIDAD <- c(9,7,5,14,15,12,6,10,15,21) #x2 O Z
x <- PRECIO
y <- VENTAS
z <- PUBLICIDAD
plot(VENTAS,type="l")
plot(PRECIO,type="l")
plot(PUBLICIDAD,type="l")
modelo <-lm(VENTAS ~ PRECIO + PUBLICIDAD)
summary(modelo)
tabla_datos <- cbind(VENTAS,PRECIO,PUBLICIDAD)
scatterplot3d(x, y, z, pch = 19, color = "blue")
scatterplot3d(y, x, z, pch = 19, color = "red")
scatterplot3d(x, z, y, pch = 19, color = "blue")
install.packages("rgl")
library(rgl)
install.packages("shiny")
library(shiny)
plot3d(x, y, z, # Datos
type = "s", # Tipo de gráfico
radius = 0.1, # Radio de las observaciones
col = "lightblue", # Color de las observaciones
xlab ="X axis lab", # Etiqueta del eje X
ylab = "Y axis lab", # Etiqueta del eje Y
zlab = "Z axis lab") # Etiqueta del eje Z
### ejemplo 2
ejemplo_2<- data.frame(PRECIO,VENTAS,PUBLICIDAD)
colnames(ejemplo_2) <- c('precio', 'ventas', 'publicidad')
head(ejemplo_2)
library(scatterplot3d)
attach(ejemplo_2)
d3_g<- scatterplot3d(x=precio, y=ventas, z=publicidad, pch=16, cex.lab=1,
highlight.3d=TRUE, type="h", xlab='Precio',
ylab='Ventas', zlab='Publicidad')
# AJUSTAMOS EL PALNO DE REGRESIÓN
d3_g$plane3d(modelo, lty.box="solid", col='mediumblue')
# DIAGRAMA INTERACTIVO
install.packages("plotly")
library(plotly)
plot_ly(x=precio, y=ventas, z=publicidad,type="scatter3d",color=precio) %>%
layout(scene = list(xaxis = list(title = 'PRECIO'),
yaxis = list(title = 'VENTAS'),
zaxis = list(title = 'PUBLICIDAD')))
# EJEMPLO MERCADO FOREX
install.packages("quantmod")
library(quantmod)
install.packages("tseries")
library(tseries)
#install.packages("fImport")
library(fImport)
getSymbols("EURUSD=X",quote="Close",from ="2022-01-01",periodicity = "daily")
getSymbols("GBPUSD=X",quote="Close",from ="2022-01-01",periodicity = "daily")
getSymbols("EURGBP=X",quote="Close",from ="2022-01-01",periodicity = "daily")
getSymbols("USDNOK=X",quote="Close",from ="2022-01-01",periodicity = "daily")
getSymbols("USDSEK=X",quote="Close",from ="2012-01-01",periodicity = "daily")
eurusd<- `EURUSD=X`[,4]
gbpusd<- `GBPUSD=X`[,4]
eurgbp<- `EURGBP=X`[,4]
usdnok<- `USDNOK=X`[,4]
EURUSD <- as.numeric(eurusd$`EURUSD=X.Close`)
GBPUSD<- as.numeric(gbpusd$`GBPUSD=X.Close`)
EURGBP<- as.numeric(eurgbp$`EURGBP=X.Close`)
tabla_forex <- data.frame(EURUSD,EURGBP,GBPUSD)
#colnames(tabla_forex) <- c("", "eurgbp","gbpusd" )
scatterplot3d(EURUSD,EURGBP,GBPUSD, pch = 19, color = "blue")
scatterplot3d(EURUSD,GBPUSD,EURGBP, pch = 19, color = "red")
attach(tabla_forex)
d3_FOREX<- scatterplot3d(x=EURUSD, y=EURGBP, z=GBPUSD, pch=16, cex.lab=1,
highlight.3d=TRUE, type="h", xlab='eurusd',
ylab='eurgbp', zlab='gbpusd')
#modelo regresion
mod_forex <- lm(EURGBP ~ EURUSD + GBPUSD)
summary(mod_forex)
plot_ly(x=EURUSD, y=EURGBP, z=GBPUSD,type="scatter3d",color=EURGBP) %>%
layout(scene = list(xaxis = list(title = 'EURUSD'),
yaxis = list(title = 'EURGBP'),
zaxis = list(title = 'GBPUSD')))
plot3d(EURUSD, EURGBP,GBPUSD, # Datos
type = "p", # Tipo de gráfico
radius = 0.5, # Radio de las observaciones
col = "red", # Color de las observaciones
xlab ="EURUSD", # Etiqueta del eje X
ylab = "EURGBP", # Etiqueta del eje Y
zlab = "GBPUSD") # Etiqueta del eje Z