[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:

yourData<-read.table(header=T,text="
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?
> 
> please hlep!
> 
> 
> 
> 
> --
> 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
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.



More information about the R-help mailing list