[R] regarding time series object

Gabor Grothendieck ggrothendieck at gmail.com
Wed Mar 28 13:59:57 CEST 2007


I am not 100% sure of what you want but maybe this will help.  I
have modified your example data to omit one point so that there
is a holiday among the rows:

library(zoo)

# read data
Lines <- "Date    Open    High     Low CloseNifty
2004-01-01 1880.35 1917.05 1880.35    1912.25
2004-01-02 1912.25 1951.70 1911.05    1946.05
# 2004-01-05 1946.30 1969.20 1930.75    1955.00
2004-01-06 1955.10 1979.05 1908.75    1926.70
2004-01-07 1927.95 1930.95 1888.10    1916.75
2004-01-08 1918.10 1973.45 1918.10    1968.55
2004-01-09 1969.00 2014.65 1957.45    1971.90
2004-01-12 1972.00 1980.55 1936.75    1945.60
2004-01-13 1944.70 1967.85 1926.10    1963.60
2004-01-14 1987.40 1995.20 1970.10    1982.15
2004-01-15 1983.20 2000.30 1933.25    1944.45
2004-01-16 1944.15 1953.05 1887.10    1900.65
2004-01-19 1901.90 1943.10 1874.95    1935.35
2004-01-20 1928.80 1957.65 1876.85    1893.25
2004-01-21 1895.45 1899.55 1811.35    1824.60
"
# replace next line with: z <- read.zoo("myfile", header = TRUE)
z <- read.zoo(textConnection(Lines), header = TRUE)

# add NA wherever there is a missing day
z <- as.zoo(as.ts(z))
time(z) <- as.Date(time(z))
z

# remove weekends
z <- z[format(time(z), "%w") %in% 1:5]
z

# interpolate
z <- zoo(na.approx(coredata(z)), time(z))
z



On 3/28/07, gyadav at ccilindia.co.in <gyadav at ccilindia.co.in> wrote:
>
> Hello All
>
> I have time series data like given hereinbelow :-
> The data is having dates. I tried using ts() but it requires frequency. As
> i have holidays, saturdays sunday market closed, and also sometimes the
> data may not be recorded. I want to create a time series object but i want
> that where ever the holiday is the except saturday/sunday then it should
> impute the mean of previous and the next working day. I want to do this so
> that i can perfectly say that 5 obs is my weekly frequency, 25 is my
> monthly etc :- Please help in this regards
>
> > tui[1:15,]
>         Date    Open    High     Low CloseNifty
> 1  2004-01-01 1880.35 1917.05 1880.35    1912.25
> 2  2004-01-02 1912.25 1951.70 1911.05    1946.05
> 3  2004-01-05 1946.30 1969.20 1930.75    1955.00
> 4  2004-01-06 1955.10 1979.05 1908.75    1926.70
> 5  2004-01-07 1927.95 1930.95 1888.10    1916.75
> 6  2004-01-08 1918.10 1973.45 1918.10    1968.55
> 7  2004-01-09 1969.00 2014.65 1957.45    1971.90
> 8  2004-01-12 1972.00 1980.55 1936.75    1945.60
> 9  2004-01-13 1944.70 1967.85 1926.10    1963.60
> 10 2004-01-14 1987.40 1995.20 1970.10    1982.15
> 11 2004-01-15 1983.20 2000.30 1933.25    1944.45
> 12 2004-01-16 1944.15 1953.05 1887.10    1900.65
> 13 2004-01-19 1901.90 1943.10 1874.95    1935.35
> 14 2004-01-20 1928.80 1957.65 1876.85    1893.25
> 15 2004-01-21 1895.45 1899.55 1811.35    1824.60
> >
>
> Thanks a lot
> -gaurav
>
> ============================================================================================
> DISCLAIMER AND CONFIDENTIALITY CAUTION:\ \ This message and ...{{dropped}}
>
> ______________________________________________
> R-help at stat.math.ethz.ch 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