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
<[email protected]> 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.
>
> ______________________________________________
> [email protected] 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.
>
______________________________________________
[email protected] 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.