[R] Difficulties in starting up with its package

Ajay Shah ajayshah at mayin.org
Wed Aug 25 18:29:01 CEST 2004


Folks,

I'm trying to learn `its' and am stuck on many basics. Could you
please help? I am on R 1.9.1 (2004-06-21) on Linux 2.4.17 #2. My its
version says
  Packaged: Tue Apr 27 13:38:25 2004; HeywoodG
  Built: R 1.9.0; ; 2004-04-28 15:03:13; unix

This part flows fine --
  library(its)
  x1 <- newIts(start="2000-01-01", end="2000-01-10", 1:30, ncol=3)
  print(x1)
  x2 <- newIts(start="2000-01-01", end="2000-01-10", 1:30, ncol=3,
    extract=T, weekday=T)
  print(x2)

Now I get into trouble --
  str(x1)    # works
  str(x2)    # BREAKS

For the str(x2) it says "Error in object[1:ile] : subscript out of bounds"
Is this a bug?


I try to go on.
  # Let's try writing and reading --
  writecsvIts(x1, filename="/tmp/try.1")
  y <- its(readcsvIts(filename="/tmp/try.1"))
  print(y)      # looks fine
  print(x1)     # looks fine
  y-x1       # BREAKS

For the "y-x1" command, he says "Error in y - x1 : dates must match".
But when I look at y and x1, the dates do seem to match.


I read in two of my own data files like this --
  nifty.its <- readcsvIts(filename="nifty.d", header=F, sep=" ",
                          col.names=c("date", "r.nifty"),
                          informat=its.format("%Y%m%d"),
                          outformat=its.format("%Y-%m-%d"))
  inrusd.its <- readcsvIts(filename="inrusd.d", header=F, sep=" ",
                          col.names=c("date", "r.inrusd"),
                          informat=its.format("%Y%m%d"),
                          outformat=its.format("%Y-%m-%d"))

These seem to be fine. To help you diagnose my problem, I have put the
results of dput() for both these at the end. Now when I say:

  > union(nifty.its, inrusd.its)
    [1] 1.0149431 1.0093692 1.0126526 0.9845319 0.9804095 0.9846924 1.0105904
    [8] 1.0311819 0.9986636 0.9950831 0.9922442 0.9510527 0.9833306 1.0131162
    [15] 0.9966518 0.9970885 1.0000000 1.0065139 1.0093729 0.9991156 0.9975658
    [22] 1.0042147 1.0039761 0.9988999 0.9955947 0.9953540 1.0046677 0.9993363
    [29] 1.0015497 1.0022104 0.9984561

I find this odd: I thought union() was supposed to give me an its
object.

  > intersect(nifty.its, inrusd.its)
    numeric(0)

I find this odd: the two series have plenty of dates in common. And, I
thought intersect() would produce an its object.

Here's the dput results for nifty.its and inrusd.its --

> dput(nifty.its)
structure(c(1.01494311428086, 1.00936924878702, 1.01265263274214, 
0.984531863814928, 0.980409543074067, 0.98469241317728, 1.01059040709914, 
1.03118189975644, 0.998663641731672, 0.995083089562457, 0.992244183137353, 
0.951052697932426, 0.983330571665286), .Dim = as.integer(c(13, 
1)), .Dimnames = list(c("2004-05-04", "2004-05-05", "2004-05-06", 
"2004-05-07", "2004-05-10", "2004-05-20", "2004-05-21", "2004-05-24", 
"2004-05-25", "2004-05-26", "2004-05-27", "2004-05-28", "2004-05-31"),
"r.nifty"))
> dput(inrusd.its)
structure(c(1.01311623699683, 0.996651785714286, 0.997088465845465, 
1, 1.00651392632525, 1.00937290783307, 0.999115631218218, 0.997565833148927, 
1.00421472937001, 1.00397614314115, 0.998899889989, 0.995594713656388, 
0.995353982300885, 1.00466770393421, 0.99933628318584, 1, 1.00154970112907, 
1.00221043324492, 0.998456109395677), .Dim = as.integer(c(19, 
1)), .Dimnames = list(c("2004-05-03", "2004-05-05", "2004-05-06", 
"2004-05-07", "2004-05-10", "2004-05-11", "2004-05-12", "2004-05-13", 
"2004-05-14", "2004-05-17", "2004-05-18", "2004-05-19", "2004-05-20", 
"2004-05-21", "2004-05-24", "2004-05-25", "2004-05-26", "2004-05-27", 
"2004-05-28"), "r.inrusd"))

-- 
Ajay Shah                                                   Consultant
ajayshah at mayin.org                      Department of Economic Affairs
http://www.mayin.org/ajayshah           Ministry of Finance, New Delhi




More information about the R-help mailing list