# [R] Help with interpolation

Jessica Streicher j.streicher at micromata.de
Tue Jan 22 15:35:42 CET 2013

Next time please provide sample data in a form we can easily read in (look at ?dput for example)

If i understand this right:

date			days  rate
1996_01_02      15    5.74590
1996_01_02      50    5.67332
1996_01_02      78    5.60888
1996_01_02     169    5.47376
1996_01_02     260    5.35267
1996_01_02     351    5.27619

1996_01_03      14    5.74740
1996_01_03      49    5.67226
1996_01_03      77    5.60371
1996_01_03     168    5.47058
1996_01_03     259    5.34662
1996_01_03     350    5.26630
")

results<-sapply(unique(yourData\$date),function(thisDate){
subSet <- yourData[yourData\$date==thisDate,]
appr<-approx(subSet\$days,subSet\$rate,xout=seq(0,360, by=30))
rates<-appr\$y
names(rates)<-appr\$x
rates
})
colnames(results)<-unique(yourData\$date)

This gives 13 results per date though, and it can't interpolate the first and last value. If you need those values that are not in-between, try spline instead of approx (you never specified how you wanted to interpolate).

On 17.01.2013, at 15:50, beanbandit wrote:

> hi guys
>
> I need to interpolate values for the zero coupon yield curve. Following data
> is given
>
>
>
>    date            days      rate
>
> 1996 01 02      15    5.74590
> 1996 01 02      50    5.67332
> 1996 01 02      78    5.60888
> 1996 01 02     169    5.47376
> 1996 01 02     260    5.35267
> 1996 01 02     351    5.27619
>
> 1996 01 03      14    5.74740
> 1996 01 03      49    5.67226
> 1996 01 03      77    5.60371
> 1996 01 03     168    5.47058
> 1996 01 03     259    5.34662
> 1996 01 03     350    5.26630
>
> For every day i have to interpolate 10 values, for example for maturities of
> 30,60 or 90 days. I have interpolate data for a one year period, 10
> interpolation values a day, so that equals 3600 values.
>
> what's the easiest way to implement this in R?
>
>
>
>
>
> --
> View this message in context: http://r.789695.n4.nabble.com/Help-with-interpolation-tp4655843.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help