top of page

En este apartado intentaré desglosar los conocimientos que necesite en pos de crear y entender el proyecto para que sea de utilidad a otra personas con interés de aprender.

​Que es R?

  • R es un entorno y lenguaje de programación e implementación de software libre descendiente del lenguaje S pero con soporte de alcance estático. 

  • Se trata de uno de los lenguajes más utilizados en investigación por la comunidad estadística, siendo además muy popular en el campo de la minería de datos, la investigación biomédica, la bioinformática y las matemáticas financieras. 

  • Existe la posibilidad de cargar diferentes bibliotecas o paquetes con funcionalidades de cálculo y gráficos.

  • Fue desarrollado inicialmente por Robert Gentleman y Ross Ihaka en 1993.

  • RStudio es el entorno de desarrollo integrado exclusivo para R.

LIBRERÍAS NECESARIAS:

  • install.packages("rgl"): Renderizacion a tiempo real  de gráficos 3D por medio de openGL.

  • install.packages("magick"): Librería necesaria para exportar los gráficos en formato GIF.

  • install.packages("MASS"): Librería necesaria para soportar funciones Venables y Ripley.

  • install.packages("RNetCDF"): Librería necesaria para lectura de arfivos *.nc.

  • install.packages("plot3Drgl"): Ciertas funciones para crear Graficos 3D.

  • install.packages("OceanView")Interpretación de datos oceanográficos.

  • install.packages("Marelac")Conjuntos de datos, constantes, factores de conversión y utilidades para las ciencias 'Marinas'.

​

​

FUNCIONES PRINCIPALES:

  • rgl.snapshot(filename = "plot.png"): Exportar gráfico en formato PNG.

  • rgl.postscript("plot.pdf",fmt="pdf"): Exportar gráfico en formato PDF.

  • movie3d( spin3d( axis = c(0, 0, 1), rpm = 7),duration = 10, dir = getwd(),type = "gif", clean =TRUE ): Exportar gráfico en movimiento en formato GIF.

  • play3d( spin3d( axis = c(0, 0, 1), rpm = 7), duration = 100 ): Giro automático para Gráficos 3D.

  • for (i in 1:9999){rainbow(i)}: bucle para crear gráficos arcoiris.

  • persp3d(volcano, col = "green"): Crear Gráfico a partir de un fichero de datos.

  • savehistory("nombreArchivo.Rhistory"):  Guardar el Historial de la sesión.

  • ​loadhistory("nombreArchivo.Rhistory"): Cargar historial de sesión anterior.

  • save.image("nombreArchivo.R"): Guardar código de programa en formato R.

  • load("nombreArchivo.R"): Cargar código de programa previamente guardado. 

​

​

plot3d():

data(iris) # Importar tabla de datos

head(iris) # Leer cabezera

plot3d( iris$Sepal.Length, # Datos eje X

iris$Sepal.Width, # Datos eje Y

iris$Petal.Length, # Datos eje Z

col = iris$Petal.Width,  #Grupos de colores

type = "s", #Tipo de Grafico (s = sferas, l = lineas, p = puntos)

radius = 0.1; #Radio de las esferas

play3d( spin3d( axis = c(0, 0, 1), #Eje que gira

rpm = 7), #Revoluciones por minuto

duration = 100 ); # Duracion

​

CÓDIGOS COMENTADOS:

​

​

persp():

x <- seq(-10, 10, length= 30) #Valores de Inicio
y <- x
f <- function(x, y) { r <- sqrt(x^2+y^2); 10 * sin(r)/r }#Función matemática a representar
z <- outer(x, y, f)
for(i in 1:1439){ #Bucle para movimiento
persp(x, y, z, theta =i/8, phi =i/8, #Velocidad de movimiento
expand = 0.5, col = rainbow(i),#color arco iris
ltheta = 120, shade = 0.75, 
ticktype = "detailed",
xlab = "X", ylab = "Y", zlab = "Z")#Titulo de cada eje
}

​

OceanView():

load(file = "argo.rda") # Importar lista de ficheros

xlim <- c(-90, 50)

ylim <- c(-70, 70)

ii <- which (Hypsometry$x >= xlim[1] & Hypsometry$x <= xlim[2])# Datos eje Y

jj <- which (Hypsometry$y >= ylim[1] & Hypsometry$y <= ylim[2])# Datos eje X

mx <- Hypsometry$x[ii]# Datos eje X

my <- Hypsometry$y[jj]# Datos eje Y

mz <- Hypsometry$z[ii,jj]# Datos eje Z

mz [ mz > 0] <- 0

persp3D(x = mx, y = my, z = mz, # Generar Grafico

col = "grey", plot = FALSE, # Colo Gris

  main = "argo floats, januari 2012", cex.main = 2)# Titulo del Grafico

clim <- range(argo$temp, na.rm = TRUE)

with (argo,

for (i in 1:length(Time)) {

    pmin <- min(-press[[i]] , na.rm = TRUE)

    scatter3D(longitude[[i]], latitude[[i]], -press[[i]] , colvar = temp[[i]] ,#Generar barra de colores  

      plot = FALSE, add = TRUE, pch = 16, cex = 0.6, clim = clim,

      colkey = FALSE, NAcol = "transparent")})

plotrgl(smooth = TRUE, lighting = TRUE)# Mostrar Grafico
play3d( spin3d( axis = c(0, 0, 1), rpm = 7), duration = 100 )#Giro Automatico

​

​

​

”Bien! Mensaje recibido

  • b-facebook
  • Twitter Round
bottom of page