[R] argument is of length 0 & condition has length>1

Leigh E. Lommen leigh.lommen at courtesycorporation.com
Wed Aug 4 15:46:08 CEST 2010


I have the following array:

> head(stocks)
  DATE      TICKER PERMNO EXCHCD TSYMBOL TRDSTAT SHROUT    PRC       RET

1 19950131   EWST  10001      3    EWST       A   2224 -7.75000
-0.031250 
2 19950228   EWST  10001      3    EWST       A   2224  7.54688
-0.026210
3 19950331   EWST  10001      3    EWST       A   2244  7.50000  0.00637
4 19950428   EWST  10001      3    EWST       A   2244  7.50000
0.000000 
5 19950531   EWST  10001      3    EWST       A   2244 -7.87500
0.050000 
6 19950630   EWST  10001      3    EWST       A   2254  8.25000
0.060317

I am trying to find stocks(TICKER) that are delisted at points (t-5) to
t(19950630) to (t+7) using the following code:

#find delistings or incomplete returns
for (i in 1:T)
	{
	if ( (stocks[i,1]==19950630)&
(stocks[i,2]!=stocks[i5,2])|(stocks[i,2]!=stocks[i+5,2]) )
		{
		print("Delisted stocks are: ")
		print(stocks[i,2])
		}
	}

But I get the following error message:

Error in if ((stocks[i, 1] == 19950630) & (stocks[i, 2] != stocks[i -  :

  argument is of length zero
In addition: Warning messages:
1: In if ((stocks[i, 1] == 19950630) & (stocks[i, 2] != stocks[i -  :
  the condition has length > 1 and only the first element will be used
2: In if ((stocks[i, 1] == 19950630) & (stocks[i, 2] != stocks[i -  :
  the condition has length > 1 and only the first element will be used
3: In if ((stocks[i, 1] == 19950630) & (stocks[i, 2] != stocks[i -  :
  the condition has length > 1 and only the first element will be used
4: In if ((stocks[i, 1] == 19950630) & (stocks[i, 2] != stocks[i -  :
  the condition has length > 1 and only the first element will be used

Please help??

Regards,
Leigh



More information about the R-help mailing list