Humberto, voce pode fazer isso utilizando a pacote ncdf (versao 1.6.6) e a funcao melt do pacote reshape, conforme CMR abaixo.
require(ncdf) #‘ncdf’ version 1.6.6
require(reshape)
nc <- open.ncdf("DML05_12.nc")
nc
# [1] "file DML05_12.nc has 4 dimensions:"
# [1] "LONN55_12 Size: 68"
# [1] "LAT46_103 Size: 58"
# [1] "TIME Size: 96"
# [1] "bnds Size: 2"
# [1] "------------------------"
# [1] "file DML05_12.nc has 2 variables:"
# [1] "double TIME_bnds[bnds,TIME] Longname:TIME_bnds Missval:1e+30"
# [1] "float MLD[LONN55_12,LAT46_103,TIME] Longname:argo mixed layer depth (m) Missval:-999"
lat <- get.var.ncdf(nc, "LAT46_103")
lon <- get.var.ncdf(nc, "LONN55_12")
time <- get.var.ncdf(nc, "TIME")
## array da variavel MLD
dml <- get.var.ncdf(nc, "MLD")
str(dml)
# num [1:68, 1:58, 1:96] 25.4 25.9 26.4 26.9 27.3 ...
## atribuindo dimnames conforme lon, lat e tempo
dimnames(dml)[[1]] <- as.character(lon)
dimnames(dml)[[2]] <- as.character(lat)
dimnames(dml)[[3]] <- as.character(time)
str(dml)
#num [1:68, 1:58, 1:96] 25.4 25.9 26.4 26.9 27.3 ...
#- attr(*, "dimnames")=List of 3
#..$ : chr [1:68] "-55.5" "-54.5" "-53.5" "-52.5" ...
#..$ : chr [1:58] "-44.5" "-43.5" "-42.5" "-41.5" ...
#..$ : chr [1:96] "731962" "731993" "732021" "732052" ...
## melt para reestruturacao dos dados
mdml <- melt(dml)
head(mdml)
# X1 X2 X3 value
#1 -55.5 -44.5 731962 25.41
#2 -54.5 -44.5 731962 25.91
#3 -53.5 -44.5 731962 26.42
#4 -52.5 -44.5 731962 26.89
#5 -51.5 -44.5 731962 27.30
#6 -50.5 -44.5 731962 27.63
tail(mdml)
# X1 X2 X3 value
#378619 6.5 12.5 734853 NA
#378620 7.5 12.5 734853 NA
#378621 8.5 12.5 734853 NA
#378622 9.5 12.5 734853 NA
#378623 10.5 12.5 734853 NA
#378624 11.5 12.5 734853 NA
require(lattice)
levelplot(value~X1+X2|factor(X3),data=mdml)
2012/9/30 Humberto Hazin
<hghazin@hotmail.com>
Bom dia pessoal,
Estou tentando extrair variáveis ambientais de arquivos formato netcdf. Até um certo momento consigo separtar em arquivos as Latitudes, Longitudes, time (mes/ano) e a dml (exemplo que mando aqui).
Link para baixar os dados do exemplo
https://www.dropbox.com/s/66dp4rgei791r52/DML05_12.ncnc <-
open.nc("DML05_12.nc", write=TRUE)
print.nc(nc)
lat<-
var.get.nc(nc, "LAT46_103")
lon<-
var.get.nc(nc, "LONN55_12")
time<-
var.get.nc(nc, "TIME")
dml<-
var.get.nc(nc, "MLD")
Meu problema é que nao estou conseguindo organizar eles em colunas com
seus respectivos valores para cada latitude, longitude, time e dml.
o output final deveria ficar assim:
lat lon time dml
1 -44.5 -55.5
2 -43.5 -55.5
3 -42.5 -55.5
4 -41.5 -55.5
5 -40.5 -55.5
6 -39.5 -55.5
Agradeço a ajuda desde já
Humberto
__________________________________________________
Prof. Dr. Humberto Gomes Hazin
Universidade Federal Rural de Pernambuco - UFRPE
Unidade Acadêmica de Serra Talhada - UAST
Coordenador do Curso de Engenharia de Pesca
Fazenda Saco, S/N - Caixa Postal 063
CEP 56900-000
Serra Talhada - PE
Tel.(87) 3831-2206/3831-1927
Cel.(81) 9158 0564
_______________________________________________
R-br mailing list
R-br@listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
--
#------------------------------------------------------------------------------#
# Jônatan Dupont Tatsch #
# Climate and Biosphere Laboratory #
# Department of Atmospheric Sciences #
# Institute of Astronomy, Geophysics and Atmospheric Sciences #
# University of São Paulo #
# Rua do Matão, 1226 #
# Cid. Universitária, São Paulo, SP, Brazil, CEP: 05508-090 #
# Phone:+55 11 3091-4772, Fax:+55 11 3091-4714 #
#
http://jonatandupont.weebly.com/index.html #
#------------------------------------------------------------------------------#