Try this using the zoo package.  See ?na.approx for more and note that
this functionality requires zoo 1.6-3 or later.

.> m <- zoo(cbind(c(1, 2, NA, NA, 5, NA, 7), seq(7)^2), as.Date(1:7))
> na.approx(m[, 1], x = m[, 2])
1970-01-02 1970-01-03 1970-01-04 1970-01-05 1970-01-06 1970-01-07 1970-01-08
  1.000000   2.000000   2.714286   3.714286   5.000000   5.916667   7.000000
> na.approx(m[, 1])
1970-01-02 1970-01-03 1970-01-04 1970-01-05 1970-01-06 1970-01-07 1970-01-08
         1          2          3          4          5          6          7


On Tue, May 11, 2010 at 4:48 PM, Abiel X Reinhart
<abiel.x.reinh...@jpmchase.com> wrote:
> I have two identically sized matrices of data that represent time series (I 
> am storing the data in zoo objects, but the idea should apply to any matrix 
> of data). The time series in the second matrix extend further than in the 
> first matrix, and I would like to use the data in matrix 2 to extrapolate the 
> data in matrix 1. In other words, if mat1[i,j] == NA, then mat1[i,j] <- 
> mat1[i-1, j]*mat2[i,j]/mat2[i-1,j]. Of course, before we can calculate 
> mat1[i,j] we may need to calculate mat1[i-1,j], and that in turn may require 
> the computation of mat1[i-2,j], etc. This could all clearly be done with 
> loops, but I am wondering if anyone can think of a vectorized expression or 
> other efficient method that would work.
>
> Thanks very much.
>
> Abiel Reinhart
> This communication is for informational purposes only. It is not
> intended as an offer or solicitation for the purchase or sale of
> any financial instrument or as an official confirmation of any
> transaction. All market prices, data and other information are not
> warranted as to completeness or accuracy and are subject to change
> without notice. Any comments or statements made herein do not
> necessarily reflect those of JPMorgan Chase & Co., its subsidiaries
> and affiliates.
>
> This transmission may contain information that is privileged,
> confidential, legally privileged, and/or exempt from disclosure
> under applicable law. If you are not the intended recipient, you
> are hereby notified that any disclosure, copying, distribution, or
> use of the information contained herein (including any reliance
> thereon) is STRICTLY PROHIBITED. Although this transmission and any
> attachments are believed to be free of any virus or other defect
> that might affect any computer system into which it is received and
> opened, it is the responsibility of the recipient to ensure that it
> is virus free and no responsibility is accepted by JPMorgan Chase &
> Co., its subsidiaries and affiliates, as applicable, for any loss
> or damage arising in any way from its use. If you received this
> transmission in error, please immediately contact the sender and
> destroy the material in its entirety, whether in electronic or hard
> copy format. Thank you.
>
> Please refer to http://www.jpmorgan.com/pages/disclosures for
> disclosures relating to European legal entities.
>
> ______________________________________________
> R-help@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.
>

______________________________________________
R-help@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.

Reply via email to