Foro de debate

2 tramos de 1 matriz.

2 tramos de 1 matriz.

de Yurena Hernández -
Número de respuestas: 4

Hola, buenas tardes.
Estoy intentando dibujar un mapa utilizando un archivo netcdf                                                   (DESCARGA:http://www.esrl.noaa.gov/psd/repository/entry/show/PSD+Climate+Data+Repository/Public/PSD+Datasets/PSD+Gridded+Datasets/COBE/sst.mon.ltm.1981-2010.nc?entryid=synth%3Ae570c8f9-ec09-4e89-93b4-babd5651e7a9%3AL0NPQkUvc3N0Lm1vbi5sdG0uMTk4MS0yMDEwLm5j   )

El problema es que necesito tomar 2 tramos de una matriz. Explico: la variable longitud va desde 0 a 360. Bien pues necesito tomar los valores desde 250 a 40 y NO al revés, ya que sólo debo representar el Atlántico.

Dejo la síntasis que estoy utilizando pero que NO da resultado.:
library(raster)
variable <- raster("sst.mon.ltm.1981-2010.nc", varname="sst")
plot(variable, xlim=c(c(250,360),c(0,40)), ylim=c(-90,90))

Gracias por la ayuda y disculpad el rollo.

 


 

En respuesta a Yurena Hernández

Re: 2 tramos de 1 matriz.

de Manuel Muñoz Márquez -

Hola Yurena:

Estás mezclando dos cosas separadas. Vayamos por partes.

La función plot espera en el parámetro xlim un vector con dos elementos, el primero de ellos será el límite inferior del gráfico y el segundo el límite superior. Es decir, xlim = c(10,100), significa que pinte un gráfico cuyo eje x va a variar desde 10 hasta 100. Lo mismo ocurre con ylim.

Si variable es un vector, para seleccionar un subconjunto de valores se especifican los índices en el orden que se desea sean tomados. Si quieres los valores desde 250 a 40 sería variable[250:40], ya que 250:40 genera un vector con los índices necesarios.

Saludos.

En respuesta a Manuel Muñoz Márquez

Re: 2 tramos de 1 matriz.

de Yurena Hernández -

Hola Manuel, muchas gracias por la ayuda.
Entonces, cómo puedo hacer para que me dibuje sólo los valores de la longitud que están en las posiciones desde 250 hasta 40 de la matriz?.

He intentado varias opciones (entre ellas las siguientes) pero no me resulta ninguna:
lon3=which(lon>=250 & lon<=40)
plot(variable,xlim=lon3, ylim=c(-90,90))

lon4=lon[250:40]
plot(variable,xlim=lon4, ylim=c(-90,90))

En respuesta a Yurena Hernández

Re: 2 tramos de 1 matriz.

de Manuel Muñoz Márquez -

Hola Yurena:

No puedo reproducir el ejemplo, me da error al instalar netcdf.

Prueba con plot(variable[250:40]). A ver si es lo que quieres.

Saludos.

P.D.: Si vas a trabajar con R te recomiendo empieces leyendo algún manual básico de introducción a R.

En respuesta a Manuel Muñoz Márquez

Re: 2 tramos de 1 matriz.

de Yurena Hernández -

Ya, la librería es (ncdf) y también trabajo con (raster).

Lo he intentado pero tampoco va.

Conoces algún buen manual en (preferiblemente en Español) que se centre en análisis de datos climáticos (ya que trabajaré archivos de estensión .nc).

Gracias.