[R-br] função de interpolação

Fernando Souza nandodesouza em gmail.com
Quarta Outubro 1 14:16:09 BRT 2014


Caros amigos

Estou necessitando faze a interpolação de algumas pesagens tomadas em 
diferentes animais. Eu preciso da interpolação feita para cada animal 
separadamente e o intervalo entre medidas não é fixo. Eu estou 
utilizando a função approx() no entanto devido ao número de animais 
utilizados fica muito dispendioso fazer fazer esta interpolação uma a 
uma.  Por isso gostaria de uma função onde um pudesse automatizar este 
procedimento.

set.seed(20)
dados<-data.frame(ANIMAL=factor(rep(1:5,each=4)),Peso=rnorm(20,30,4), 
data=sample(seq(as.Date("01/04/2009",'%d/%m/%Y'),
as.Date("30/04/2009",'%d/%m/%Y'),length.out=30),20),day=1:20)

Estou tentando fazer uma função que estime os pontos da interpolação 
agrupados por Animal . Entretanto tenho pouco conhecimento em 
programação para fazer isso. Tenho tentado fazer isso, sem muito sucesso.
Alguém poderia me ajudar? Abraços

aprendendo<-function(dados){
      niveis<-levels(dados$ANIMAL)
      dia<-diff(dados$data)
      for(i in min(niveis):max(niveis)){

         b<- 
approx(dados[dados$ANIMAL==as.numeric(i),]$Peso,dados[dados$ANIMAL==as.numeric(i),]$data),n=15)
            }
        return(b)
              }


Mais detalhes sobre a lista de discussão R-br