Heloise,

Esta observação me deixa confuso:

#Quando faço um merge() dos dois dataframes, obviamente meus valores de#vento$media aparecem como NA pois não há nenhuma correspondência entre as #coordenadas do grid e de vento.

As coordenadas do grid e vento múltiplas de 0,5 grau deveriam "se corresponder" ou não?

A questão de você interpolar os valores de vento tem menos a ver com o R em si e mais com o domínio do problema que você trabalha: qual é a forma de interpolar o valor do vento para uma coordenada intermediária entre pontos que você tenha as medidas?

Talvez seja mais apropriado trabalhar com "a quase metade dos dados" do que utilizar o dobro de pontos sendo que a outra metade será resultado de um processo de cálculo e portanto não deveria modificar sua análise dos dados.

HTH
--
Cesar Rabak


2017-09-06 4:47 GMT-03:00 Heloíse Pavanato via R-br <r-br@listas.c3sl.ufpr.br>:

Colegas do R-br,

 

Tenho a seguinte questão:

 

Estou trabalhando com um grid de 0.1 x 0.1 grau de latitude e longitude onde quero inserir a variável vento. No entanto a resolução do vento é de 0.25 x 0.25 graus.

Os dados estão armazenados aqui:


http://www.datafilehost.com/d/693635d4

http://www.datafilehost.com/d/ee24730c


vento <- read.csv('ascat.data.csv', header = TRUE)

str(vento)

grid <- read.csv('grid.data.csv', header = TRUE)

str(grid)


#Quando faço um merge() dos dois dataframes, obviamente meus valores de #vento$media aparecem como NA pois não há nenhuma correspondência entre as #coordenadas do grid e de vento.


dmerge <- merge(grid, vento, by = c('lon', 'lat'), all.x = TRUE)


Porém, eu gostaria de obter valores de vento, por exemplo, entre latitudes de -22.625 e -22.375 na mesma escala do grid: -22.6, -22.5, -22.4, etc. E o mesmo para longitude.


Tentei utilizar a scales::rescale(), mas consegui mudar apenas os mínimos e máximos das coordenadas:


#install.packages('scales', dependencies = TRUE)

library(scales)


vento$lon.r <- rescale(vento$lon, to = range(grid$lon))
vento$lon.r


vento$lat.r <- rescale(vento$lat, to = range(grid$lat))
vento$lat.r


Então, creio que eu tenho dois problemas: o primeiro é obter as coordenadas de vento na mesma escala que as do grid; segundo é interpolar vento$media para substituir os NAs, que correspondem a quase metade do total de valores.


Agradeço se algum colega tiver alguma dica.


Obrigada,

Heloise.


_______________________________________________
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.